PDA

Просмотр полной версии : Двухуровневое меню в разных div


vip1321
20.01.2011, 06:29
Подскажите, пожалуйста, как реализовать двухуровневое меню, при том, что первый уровень (главный) это основное меню, а второй (вложенный) расположен в другом 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
Тоже будет интересно.