Просмотр полной версии : как определить на каком уровне меню мы находимся?
[treeLevel = ] почему то не работает.
При вставке подобной конструкции в setup, вместо subparts.TEXT1 всегда показывается "else", на всех уровнях меню.
[treeLevel = 2]
subparts.TEXT1 = TEXT
subparts.TEXT1.value = уровень 2
subparts.TEXT1.insertData = 1
[treeLevel = 3]
subparts.TEXT1 = TEXT
subparts.TEXT1.value = уровень 3
subparts.TEXT1.insertData = 1
[treeLevel = 4]
subparts.TEXT1 = TEXT
subparts.TEXT1.value = уровень 4
subparts.TEXT1.insertData = 1
[treeLevel = 5]
subparts.TEXT1 = TEXT
subparts.TEXT1.value = уровень 5
subparts.TEXT1.insertData = 1
[else]
subparts.TEXT1 = TEXT
subparts.TEXT1.value = else
subparts.TEXT1.insertData = 1
[global]
Dutchak Vitaly
06.06.2006, 04:52
subparts.TEXT1 = TEXT
subparts.TEXT1.value = else
subparts.TEXT1.insertData = 1
[treeLevel = 2]
subparts.TEXT1.value = уровень 2
[end]
[treeLevel = 3]
subparts.TEXT1.value = уровень 3
[end]
[treeLevel = 4]
subparts.TEXT1.value = уровень 4
[end]
[treeLevel = 5]
subparts.TEXT1.value = уровень 5
[end]
Так попробуйте, я не пробывал на работоспособность, но может сработает
спасибо, попробую и озвучу результаты.
а что обычно такая задача решается как то по другому?
subparts.TEXT1 = TEXT
subparts.TEXT1.value = else
subparts.TEXT1.insertData = 1
[treeLevel = 2]
subparts.TEXT1.value = уровень 2
[end]
[treeLevel = 3]
subparts.TEXT1.value = уровень 3
[end]
[treeLevel = 4]
subparts.TEXT1.value = уровень 4
[end]
[treeLevel = 5]
subparts.TEXT1.value = уровень 5
[end]
Так попробуйте, я не пробывал на работоспособность, но может сработает
Показывает на всех уровнях "уровень 5", то есть как и в моем коде, условие почему то не работает...
не работает короче.
у кого-нибудь будут еще мысли как сделать такую проверку?
не работает короче.
у кого-нибудь будут еще мысли как сделать такую проверку?
Столкнулся с такой "фичей".
Если условия проверяются внутри блока {}, то выполняются все ветки, т.е. как будто строки условия не заданы.
Ваш случай немного другой, но попробуйте вынести условия на самый верхний уровень, проверьте.
хотя, похоже, "случай" как раз тот. если выполнить последовательно все строки (условные операторы не воспринимаются), то получится как раз пятый уровень.
Да действительно похоже, что выполняются все подряд (проверял меняя порядок).
И опять же правда что вся конструкция действительно находится внутри page1 { ... }
Попробую исправить код.
demav спасибо.
Заработало!
Действительно это фича, или скорее БАГ: при заключении в { } условия не срабатывают.
Нерабочий код был такой:
page.1{
subparts.TEXT1 = TEXT
subparts.TEXT1.value = else
subparts.TEXT1.insertData = 1
[treeLevel = 2]
subparts.TEXT1.value = уровень 2
[end]
[treeLevel = 3]
subparts.TEXT1.value = уровень 3
[end]
}
Заработало так:
page.1 { ... }
page.1.subparts.TEXT1 = TEXT
page.1.subparts.TEXT1.value = else
page.1.subparts.TEXT1.insertData = 1
[treeLevel = 2]
page.1.subparts.TEXT1.value = уровень 2
[end]
[treeLevel = 3]
page.1.subparts.TEXT1.value = уровень 3
[end]
Тема закрыта.
Спасибо всем откликнувшимся.
Pavel Antonov
09.06.2006, 16:57
Это к вопросу как Вы оформляете посты на форуме. Всегда надо давать логически законченный код!
Кроме того неплохо читать иногда документацию, где написано черным по-белому, что условные конструкции не работают будучи заключенными в { }. Парсер TypoScript скорее всего выдавал вам ошибки о наличии лишних скобок, просто вы не обращали внимания.
Это к вопросу как Вы оформляете посты на форуме. Всегда надо давать логически законченный код!
Кроме того неплохо читать иногда документацию, где написано черным по-белому, что условные конструкции не работают будучи заключенными в { }. Парсер TypoScript скорее всего выдавал вам ошибки о наличии лишних скобок, просто вы не обращали внимания.
Каюсь, сам виноват, впредь буду внимательнее!
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot