Как настроить страницу в соответствии с ее порядком в TYPO3?

Работая над TYPO3 4.7 с Templavoila 1.7.0, мне нужен способ настроить одно значение шаблона в соответствии с порядком текущей страницы на ее уровне навигации.

В частности, мне нужно изменить атрибут класса div на «левый» или «правый», если он четный или неравномерный. Есть ли способ сделать это с помощью атрибута Templavoila Typoscript-Attribute?

Например:

  • Main Page
    • Page 1
      1. Page 1.1 -> When rendering this page I want to set the class attribute to "left"
      2. Стр. 1.2 -> «право»
      3. Стр. 1.3 -> «слева»
      4. Стр. 1.4 -> "право"
    • Страница 2
    • Стр. 3

Спасибо!


person 27leaves    schedule 16.08.2012    source источник
comment
Можете ли вы вставить свой навигационный TypoScript, который у вас есть сейчас? Я предполагаю, что optionSplit - это то, что вы хотите использовать.   -  person maholtz    schedule 16.08.2012
comment
Я не хочу создавать меню. Дело в шаблоне страницы. См. - ›При рендеринге этой страницы я хочу установить атрибут класса влево. Нет меню.   -  person 27leaves    schedule 17.08.2012


Ответы (1)


Атрибут TypoScript TemplaVoila не сработает, если кто-то изменит сортировку страниц.

Я бы попробовал сделать меню. С allWrap.cObject = TEXT должна быть возможность переопределить вывод. Так что просто создайте меню, которое отображает класс, и, в зависимости от четности или нечетности, визуализируйте нужный вам класс.

! псевдокод!

lib.getClass = HMENU
lib.getClass {
  1 = TMENU
  1.NO = 1
  1.NO {
    allWrap.cObject = TEXT
    allWrap.cObject.value = left
    allWrap.cObject.override = right
    allWrap.cObject.override {
      if.value = 1
      if.equals.data = REGISTER:count_HMENU_MENUOBJ
      if.equals.stdWrap.wrap = |%2
      if.equals.prioriCalc = 1
    }
  }
}

Не тестировал код, поэтому, если он не работает, проверьте синтаксис. Возможно, отключите переопределение, проверьте значение REGISTER: count_HMENU_MENUOBJ, но я думаю, это должен быть тот регистр, который вам нужен.

person maholtz    schedule 20.08.2012
comment
Спасибо, я наконец решил свою проблему написанием расширения. - person 27leaves; 25.08.2012