Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 05.06.2006, 15:11   #1
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию как определить на каком уровне меню мы находимся?

[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]
Илья вне форума   Ответить с цитированием
Старый 06.06.2006, 04:52   #2
Dutchak Vitaly
TYPO3 Infected
 
Регистрация: 29.08.2005
Адрес: Ukraine, Simferopol
Сообщений: 412
Отправить сообщение для Dutchak Vitaly с помощью ICQ Отправить сообщение для Dutchak Vitaly с помощью Skype™
По умолчанию

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]


Так попробуйте, я не пробывал на работоспособность, но может сработает
__________________
TYPO3/PHP Developer
http://dv-charts.com/ - open source flash charts
Dutchak Vitaly вне форума   Ответить с цитированием
Старый 06.06.2006, 12:05   #3
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

спасибо, попробую и озвучу результаты.
а что обычно такая задача решается как то по другому?

Последний раз редактировалось Илья; 06.06.2006 в 13:33
Илья вне форума   Ответить с цитированием
Старый 06.06.2006, 13:36   #4
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

Цитата:
Сообщение от Dutchak Vitaly
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", то есть как и в моем коде, условие почему то не работает...
Илья вне форума   Ответить с цитированием
Старый 08.06.2006, 22:19   #5
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

не работает короче.
у кого-нибудь будут еще мысли как сделать такую проверку?
Илья вне форума   Ответить с цитированием
Старый 09.06.2006, 10:02   #6
demav
Senior Member
 
Аватар для demav
 
Регистрация: 21.04.2006
Сообщений: 245
По умолчанию

Цитата:
Сообщение от илья
не работает короче.
у кого-нибудь будут еще мысли как сделать такую проверку?
Столкнулся с такой "фичей".
Если условия проверяются внутри блока {}, то выполняются все ветки, т.е. как будто строки условия не заданы.

Ваш случай немного другой, но попробуйте вынести условия на самый верхний уровень, проверьте.
demav вне форума   Ответить с цитированием
Старый 09.06.2006, 10:04   #7
demav
Senior Member
 
Аватар для demav
 
Регистрация: 21.04.2006
Сообщений: 245
По умолчанию

хотя, похоже, "случай" как раз тот. если выполнить последовательно все строки (условные операторы не воспринимаются), то получится как раз пятый уровень.
demav вне форума   Ответить с цитированием
Старый 09.06.2006, 12:08   #8
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

Да действительно похоже, что выполняются все подряд (проверял меняя порядок).
И опять же правда что вся конструкция действительно находится внутри page1 { ... }
Попробую исправить код.
demav спасибо.
Илья вне форума   Ответить с цитированием
Старый 09.06.2006, 13:26   #9
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

Заработало!
Действительно это фича, или скорее БАГ: при заключении в { } условия не срабатывают.
Нерабочий код был такой:
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]

Тема закрыта.
Спасибо всем откликнувшимся.
Илья вне форума   Ответить с цитированием
Старый 09.06.2006, 16:57   #10
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Это к вопросу как Вы оформляете посты на форуме. Всегда надо давать логически законченный код!

Кроме того неплохо читать иногда документацию, где написано черным по-белому, что условные конструкции не работают будучи заключенными в { }. Парсер TypoScript скорее всего выдавал вам ошибки о наличии лишних скобок, просто вы не обращали внимания.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:39.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория