Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Двухуровневое меню в разных div (http://forum.typo3.ru/showthread.php?t=9164)

vip1321 20.01.2011 06:29

Двухуровневое меню в разных div
 
Подскажите, пожалуйста, как реализовать двухуровневое меню, при том, что первый уровень (главный) это основное меню, а второй (вложенный) расположен в другом div`е. Примерно так:
пункт_1 | пункт_2 | пункт_3 | пункт_4

подпункт_1
подпункт_2
подпункт_3
подпункт_4

Для каждого первого уровня (пункт_1, пункт_2, пункт_3, пункт_4) подпункт (в левом меню) естественно разный.
Смотрел подобные темы на форуме, но так как там описано не получается, вторые сутки голову ломаю.
Верхний: <div id="menu"><table><tbody><tr><td> | </td><tr><tbody><table></div>
Левый: <div class="left-colum"><ul><li> | </li></ul></div>

Вот что получилось:
Код:

#Меню
lib.menu = HMENU
lib.menu.entryLevel = 0
lib.menu.expAll = 1
lib.menu.1 = TMENU
lib.menu.1 {
wrap = <table height="27px"><tbody><tr> | </table></tbody><tr>
NO.wrapItemAndSub = <td> | </td>

#Активное меню
ACT = 1

ACT.wrapItemAndSub = <td class="current"> | </td>
}


#Второй уровень меню
lib.leftmenu = HMENU
lib.leftmenu.entryLevel = 1
lib.leftmenu.allWrap = <li>|</li>
lib.leftmenu.expAll = 1

#Первый уровень второго меню

lib.leftmenu.1 = TMENU
lib.leftmenu.1
lib.leftmenu.1.allWrap = <li>|</li> {
  noBlur = 1
  ACT = 1
}

page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

Может я что то не так понимаю? Не знаю в чем проблема(
И еще: мапить надо оба div`а? И <div id="menu"> и <div class="left-colum">? Или только <div id="menu">? Получается вроде бы одно меню (с подменю), но тем не менее используются разные div`ы.
Верхнее меню работает нормально, левое не подключается вообще.
Прощу прощения, что так много написал :)

vip1321 21.01.2011 11:15

Что вообще никак не осуществить?? :(

ParserYa 21.01.2011 12:46

Я осуществлял подобное.. Тоже тогда не разобрался, как сделать все одним TS. Поэтому писал свой include на PHP, который осуществлял это.
Думаю, можно просто все сделать на верстке.. то есть вы делаете обынчное меню с двумя уровнями вложенности. Настраиваете его так, что бы второй уровень был виден только если активен родительский элемент. А потом диву в котором лежит второй уровень вложенности делаете style="position:absolute; float:left;"
В таком случае у вас оба меню должны лежать в одном блоке, который вы и замапите.
Если нужно более подробное объяснение, можете стукнуть в личку.

vip1321 22.01.2011 08:18

Это как то запарно по-моему))

Путем долгих тренировок и мучений получилось!)))

Код:

#Меню
lib.menu = HMENU
lib.menu.1 = TMENU
lib.menu.1.wrap = <div id="menu"><table height="27px"><tbody><tr> | </tr></tbody></table></div>
lib.menu.1 {
  NO.wrapItemAndSub = <td> | </td>
  ACT = 1
  ACT.wrapItemAndSub = <td class="current"> | </td>
}

#Второй уровень меню

lib.leftmenu < lib.menu
lib.leftmenu.entryLevel = 1
lib.leftmenu.1.wrap = <ul> | </ul>
lib.leftmenu.1 {
 
  NO.wrapItemAndSub = <li class="lileft"> | </li>

#Активное меню
  ACT = 1
  ACT.wrapItemAndSub = <li class="act"><strong> | </strong></li>
}

page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

Может кому пригодится :)

Anlov 02.05.2011 20:27

А, стоп... Вместо субменю в нужном месте показывает html-код... Где ошибка?

heken 03.05.2011 10:54

Тоже будет интересно.


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

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