PDA

Просмотр полной версии : HMENU вопрос


lexun
11.05.2007, 19:20
У меня есть меню с подменю.

lib.menu_1 = HMENU
# Первый уровень объекта-меню, текстовый
lib.menu_1.1 = TMENU
lib.menu_1.1 {
# Нормальное состояние свойств
wrap = |
NO.allWrap = <li><div class='ma1'><div class='ma2'><div class='mt'></div></div></div> <div class='mbg'>|</div><div class='ma4'><div class='ma3'><div class='mb'></div></div></div></li>
#NO.wrapItemAndSub = <li><div class='ma1'><div class='ma2'><div class='mt'></div></div></div> <div class='mbg'>|</div><div class='ma4'><div class='ma3'><div class='mb'></div></div></div></li>
NO.stdWrap.wrap = <span> | </span>

# Включить активное состояние и установить свойства:
ACT = 1
ACT.allWrap = <li class='act'><div class='ma1'><div class='ma2'><div class='mt'></div></div></div> <div class='mbg'>|</div><div class='ma4'><div class='ma3'><div class='mb'></div></div></div></li>
#ACT.wrapItemAndSub = <li class='act'><div class='ma1'><div class='ma2'><div class='mt'></div></div></div> <div class='mbg'>|</div><div class='ma4'><div class='ma3'><div class='mb'></div></div></div></li>
ACT.stdWrap.wrap = <span> | </span>
#ACT.allWrap = <li class='act'><div class='ma1'><div class='ma2'><div class='mt'></div></div></div> <div class='mbg'><a href="/index.php?id={elementUid}" onfocus="blurLink(this);"><span>|</span></a></div><div class='ma4'><div class='ma3'><div class='mb'></div></div></div></li>
}

lib.menu_1.2 = TMENU
lib.menu_1.2 {
# Нормальное состояние свойств
wrap = <li class="sub_menu">|</li>

NO.allWrap = <div class="point">|</div><div class="line"></div>


# Включить активное состояние и установить свойства:
ACT = 1
ACT.doNotLinkIt = 1
ACT.allWrap = <div class="point_act">|</div><div class="line"></div>
ACT.subst_elementUid = 1
ATagBeforeWrap = 1
}


Задача:
Как сделать чтобы при клике на страницу предок у которой нет содержимого но есть подменю мы оставались на странице с которой мы кликнули на меню и при этом раскрылось подменю сраницы на которую мы кликнули.
Спасибо.

Pavel Antonov
11.05.2007, 21:17
Как сделать чтобы при клике на страницу предок у которой нет содержимого но есть подменю мы оставались на странице с которой мы кликнули на меню и при этом раскрылось подменю сраницы на которую мы кликнули.
Спасибо.

Если это предок, то подменю уже раскрыто.
Что бы никуда не уходило, достаточно убрать с бредка ссылку: doNotLinkIt = 1

void
11.05.2007, 21:29
Остаться на странице мы можем лишь одним способом - не переходя на другую страницу. Этого возможно достичь, например, добавив в тэг <a атрибут onClick="return false;".
Для раскрытия же меню можно использовать js/ajax. Проще всего поместить меню в невидимый div и с помощью js делать его видимым.

Добиться специального врапа для страницы, у которой есть подстраницы можно постредством IFSUB/ACTIFSUB.

Единственная проблема здесь: нет содержимого. Это достаточно сложно узнать.

Pavel Antonov
12.05.2007, 14:23
Остаться на странице мы можем лишь одним способом - не переходя на другую страницу. Этого возможно достичь, например, добавив в тэг <a атрибут onClick="return false;".
Для раскрытия же меню можно использовать js/ajax. Проще всего поместить меню в невидимый div и с помощью js делать его видимым.

Добиться специального врапа для страницы, у которой есть подстраницы можно постредством IFSUB/ACTIFSUB.

Единственная проблема здесь: нет содержимого. Это достаточно сложно узнать.

ИМХО, это другая ситуация... Если нужно раскрывающееся меню, то нужно сделать expAll = 1 и самому управлять всем на JS.

В TYPO3 2 активных ветки быть не может (раскрыть одну, а остаться в другой)!