Как настроить страницу в соответствии с ее порядком в TYPO3?
Работая на TYPO3 4.7 с Templavoila 1.7.0, мне нужен способ настроить одно значение шаблона в соответствии с порядком текущей страницы в ее уровне навигации.
В частности, мне нужно изменить атрибут класса div на "left" или "right", если он четный или неровный. Есть ли способ сделать это с помощью Templavoila Typoscript-Attribute?
Для примера:
- Главная страница
- Страница 1
- Страница 1.1 -> При рендеринге этой страницы я хочу установить атрибут класса "left"
- Страница 1.2 -> "Право"
- Страница 1.3 -> "Слева"
- Страница 1.4 -> "Правильно"
- Страница 2
- Страница 3
- Страница 1
Спасибо!
1 ответ
Атрибут TemplaVoila TypoScript потерпит неудачу, если кто-то изменит сортировку страниц.
Я бы попробовал сделать меню. С 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, но я думаю, что это должен быть регистр, который вам нужен.