Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   как отображать подменю у активного меню (http://forum.typo3.ru/showthread.php?t=1859)

demav 02.10.2006 18:02

как отображать подменю у активного меню
 
добрый день.

предположим, есть такая структура меню:
|страница 1
|страница 2
|страница 3

при выборе пункта меню "страница 2" надо чтобы выводилось меню такого вида:

|страница 1
|страница 2
-|подстраница 1
-|подстраница 2
|страница 3

т.е. нужен вывод подменю у активного пункта.
киньте идею, додумаю сам - уже что только ни пробовал )

заранее спасибо

Pavel Antonov 02.10.2006 18:59

Читайте TSRef. Там все идеи прямым текстом...

demav 02.10.2006 19:03

Цитата:

Сообщение от Pavel Antonov
Читайте TSRef. Там все идеи прямым текстом...

гениально!

Valery Romanchev 02.10.2006 19:51

0) запаситесь терпением
1) поставьте пакет testsite - там много примеров
2) поишите снипетты TS кода - их немеряяно.
Гугле рулит и список ссылок на typo3.org также рулит

demav 02.10.2006 19:56

друзья, спасибо за все )
проблема решилась путем экспериментов

поверьте, я предварительно прочитал все!!! посты со словом "меню" на этом форуме. то, что не нашел нужный пост - это уже проблема в моем процессоре )
делайте скидку, написали бы в следующий раз по теме и всем стало хорошо )

demav 26.03.2007 17:26

Народ интересуется. Привожу пример:

main_menu_items = HMENU
main_menu_items.1 = TMENU
main_menu_items.1 {
NO.allWrap = <div class="menu_inact">|</div>
CUR = 1
CUR.allWrap = <div class="menu_act">|</div>
}

main_menu_items.2 = TMENU
main_menu_items.2 {
entryLevel = 1
NO.allWrap = <div class="menuLevel1_inact">|</div>
CUR = 1
CUR.allWrap = <div class="menuLevel1_act">|</div>
}

Pavel Antonov 26.03.2007 18:07

Советы:
  1. Оформляйте меню с помощью ненумерованных списков (ul, li). Это идеологически правильнее. (Если конечно кому то это интересно).
  2. Если нужно отражать не только текущее положение в меню, но и активную ветку, то нужно использовать ACT (не CUR)
  3. При использовании списков и отображении активной ветки оборачивать пункт нужно с помощью "wrapItemAndSub":
    Код:

    NO.wrapItemAndSub = <li>|</li>
  4. Пассивным элементам меню задавать класс не нужно.

PhilD 26.03.2007 21:59

2. Пока не разобрался - как бы сконфигурировать, чтобы ACT.doNotLinkIt = 1 отрабатывалась на родительском пункте только если открыт действительно он, а не один из его подпунктов. Пока приходится использовать CUR и соответственно ветку выделить простого способа нет.
(тот факт что ветка открыта на считается - по условиям задачи expAll = 1)

Pavel Antonov 27.03.2007 00:14

Цитата:

Сообщение от PhilD (Сообщение 10612)
2. Пока не разобрался - как бы сконфигурировать, чтобы ACT.doNotLinkIt = 1 отрабатывалась на родительском пункте только если открыт действительно он, а не один из его подпунктов. Пока приходится использовать CUR и соответственно ветку выделить простого способа нет.
(тот факт что ветка открыта на считается - по условиям задачи expAll = 1)

Это разные ситуации...
ACT - работает только тогда когда не задан CUR и пункт текущий, или выбран один из подпунктов
CUR - работает только если пункт текущий.

В описанной ситуации прописываете и ACT и CUR, и у CUR.doNotLinkIt=1

PhilD 28.03.2007 01:07

Спасибо! Главное помнить, что wrap-ы накладывются :)


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

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