Есть двухуровневое меню содержащее много пунктов.
Необходимо перед одним из пунктов меню верхнего уровня вставить HTML код - это рекламная ссылка вида "обычный пункт меню" с подсчетом показов и кликов.
Для вставки перед ссылкой на страницу 123 задача решена следующим образом:
Код:
temp.menu.10.1 = TMENU
temp.menu.10.1 {
...
NO.before >
NO.before (
<div style="xxx">
<a>...</a>
</div>
)
NO.before.if {
value.field = uid
equals = 123
}
}
Т.е. выводим перед каждым пунктом, но только если его uid = 123
Но очень хочется что бы HTML код был результатом вывода FE плагина.
То есть так:
Код:
temp.menu.10.1 = TMENU
temp.menu.10.1 {
...
NO.before >
NO.before.cObject = COA
NO.before.cObject.10 < plugin.tx_myplugin_pi1
NO.before.cObject.10 {
param1=xxx
...
}
NO.before.if {
value.field = uid
equals = 123
}
}
Эта конструкция рабочая. Но фактически оказывается что плагин вызывается для каждой страницы в меню верхнего уровня. И так как он добавляет некий контент в шапку страницы, то в шапке появляется много дублей одного и того же контента.
Вопросы:
1. Как решить эту задачу на TS что бы плагин вызывался только один раз?
2. Как задачу решить если понадобится вставить разные HTML коды перед двумя-тремя разными страницами?