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

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

Ответ
 
Опции темы Опции просмотра
Старый 19.06.2009, 16:41   #1
El_desperado
Новенький
 
Регистрация: 27.03.2009
Сообщений: 10
По умолчанию Сложне меню + javascript

Есть большое меню страниц такого вида:
1 уровень
2 уровень
3 уровень
3 уровень
3 уровень
2 уровень
2 уровень
3 уровень
3 уровень
1 уровень
2 уровень
3 уровень
3 уровень
Нужно динамически добавить уникальный id для каждого блока уровня следующим образом:
1 уровень
<div id="уникальный id для этого блока 2го уровня">
2 уровень
<div id="уникальный id для этого блока 3го уровня">
3 уровень
3 уровень
3 уровень
</div>
2 уровень
2 уровень
<div id="уникальный id для этого блока 3го уровня">
3 уровень
3 уровень
</div>
</div>
1 уровень
<div id="уникальный id для этого блока 2го уровня">
2 уровень
<div id="уникальный id для этого блока 3го уровня">
3 уровень
3 уровень
</div>
</div>
Код TS который уже есть:
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 {
wrap = <div id="{field:header}">|</div>
expAll = 1
NO.allWrap = <span class="cat_second_level_no"> | <br></span>
NO.stdWrap.htmlSpecialChars = 1
ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <span class="cat_second_level_no"> | <br></span>
}
20.3 = TMENU
20.3 {
wrap = <div id="{field:header}">|</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>
}
}

Делается это для того что бы можно было сворачивать и разворачивать меню при помощи javascript-a.

Как это можно реализовать? И можно ли вообще? Уже весь мозг себе сломал решая эту задачу
El_desperado вне форума   Ответить с цитированием
Старый 19.06.2009, 18:07   #2
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

Я использовал stdWrap2.dataWrap для js меню. тут пример с jquery
Один недостаток - stdWrap2 работает только с NO. У меня не получилось сделать с ACT.
Lucifer вне форума   Ответить с цитированием
Старый 30.06.2009, 07:13   #3
El_desperado
Новенький
 
Регистрация: 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-ий уровень меню именно так как показано на схеме выше.
Надеюсь кому то этот прием пригодится!
El_desperado вне форума   Ответить с цитированием
Старый 30.06.2009, 11:20   #4
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

А stdWrap2 заработал в ACT? У меня не работал
Lucifer вне форума   Ответить с цитированием
Старый 30.06.2009, 13:45   #5
El_desperado
Новенький
 
Регистрация: 27.03.2009
Сообщений: 10
По умолчанию

Похоже что заработал.
Кстати. Забыл добавить что в таком меню не работает RealUrl так как ссылки писаные в ручную
El_desperado вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рендеринг меню в таблицу 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


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


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

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