Показать сообщение отдельно
Старый 27.08.2009, 20:13   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию Вставка HTML кода перед определенным пунктом HMENU

Есть двухуровневое меню содержащее много пунктов.
Необходимо перед одним из пунктов меню верхнего уровня вставить 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 коды перед двумя-тремя разными страницами?

Последний раз редактировалось dmartynenko; 27.08.2009 в 20:24
dmartynenko вне форума   Ответить с цитированием