Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
19.06.2009, 16:41 | #1 |
Новенький
Регистрация: 27.03.2009
Сообщений: 10
|
Сложне меню + javascript
Есть большое меню страниц такого вида:
1 уровень 2 уровень 3 уровень 2 уровень 2 уровень 3 уровень 1 уровень 2 уровень Нужно динамически добавить уникальный id для каждого блока уровня следующим образом:3 уровень 1 уровень <div id="уникальный id для этого блока 2го уровня"> <div id="уникальный id для этого блока 3го уровня"> 2 уровень <div id="уникальный id для этого блока 3го уровня"> </div> 1 уровень <div id="уникальный id для этого блока 2го уровня"> <div id="уникальный id для этого блока 3го уровня"> Код TS который уже есть:</div> lib.menu = COA lib.menu { stdWrap.insertData = 1 20 = HMENU 20.special = directory 20.special.value = 8 20.1 = TMENU 20.1 { expAll = 1} 20.2 = TMENU 20.2 { wrap = <div id="{field:header}">|</div>} 20.3 = TMENU 20.3 { wrap = <div id="{field:header}">|</div>} } Делается это для того что бы можно было сворачивать и разворачивать меню при помощи javascript-a. Как это можно реализовать? И можно ли вообще? Уже весь мозг себе сломал решая эту задачу |
19.06.2009, 18:07 | #2 |
Senior Member
Регистрация: 01.07.2008
Сообщений: 392
|
Я использовал stdWrap2.dataWrap для js меню. тут пример с jquery
Один недостаток - stdWrap2 работает только с NO. У меня не получилось сделать с ACT. |
30.06.2009, 07:13 | #3 |
Новенький
Регистрация: 27.03.2009
Сообщений: 10
|
Спасибо за помощь! Решение найдено Выглядит оно так:
lib.menu = COA lib.menu { stdWrap.insertData = 1 20 = HMENU 20.special = directory 20.special.value = 8 20.1 = TMENU 20.1 { expAll = 1 NO.allWrap = <span class="cat_first_level_no"> | <br></span> NO.stdWrap.htmlSpecialChars = 1 ACT = 1 ACT.stdWrap.htmlSpecialChars = 1 ACT.allWrap = <span class="cat_first_level_no"> | <br></span> } 20.2 = TMENU 20.2 { expAll = 1 NO.stdWrap2.dataWrap = <div class="cat_second_level_no"><a href="index.php?id={field:uid}" onfocus="blurLink(this);">|</a><br></div><div> NO.stdWrap.htmlSpecialChars = 1 NO.doNotLinkIt = 1 ACT = 1 ACT.stdWrap.htmlSpecialChars = 1 ACT.doNotLinkIt = 1 ACT.stdWrap2.dataWrap = <div class="cat_second_level_no"><a href="index.php?id={field:uid}" onfocus="blurLink(this);">|</a><br></div><div> } 20.3 = TMENU 20.3 { expAll = 1 wrap = |</div> NO.allWrap =<span class="cat_third_level_no"> | <br></span> NO.stdWrap.htmlSpecialChars = 1 ACT = 1 ACT.stdWrap.htmlSpecialChars = 1 ACT.allWrap = <span class="cat_third_level_no"> | <br></span> } } Красным выделен блок оборачивающий 3-ий уровень меню именно так как показано на схеме выше. Надеюсь кому то этот прием пригодится! |
30.06.2009, 11:20 | #4 |
Senior Member
Регистрация: 01.07.2008
Сообщений: 392
|
А stdWrap2 заработал в ACT? У меня не работал
|
30.06.2009, 13:45 | #5 |
Новенький
Регистрация: 27.03.2009
Сообщений: 10
|
Похоже что заработал.
Кстати. Забыл добавить что в таком меню не работает RealUrl так как ссылки писаные в ручную |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рендеринг меню в таблицу | AleXUnder | Общие вопросы | 3 | 26.03.2009 17:55 |
Меню и Javascript | van-gog | Общие вопросы | 0 | 27.02.2009 01:32 |
Меню с JavaScript | alexk | TypoScript практикум | 5 | 22.08.2008 14:09 |
Разметка каскадного вложенного меню в TemplaVoila | maaboo | Общие вопросы | 7 | 27.07.2008 17:11 |
Меню с javascript | nazaroff | Разработка сайтов (обсуждения) | 1 | 03.01.2008 22:29 |