PDA

Просмотр полной версии : Поместить меню в контейнер в зависимости о наличия у этого меню пунктов.


margol
05.02.2010, 16:20
Задача:
Если на этом уровне (entryLevel=1) есть пункты меню, то поместить их в контейнер <div class="menu-level2">. Если нет, то естественно не помещать, и контейнер <div class="menu-level2"> НЕ отображать.

Такое ее решение, всегда отображает контейнер <div class="menu-level2"> есть пункты меню или нет:

lib.subMenu = HMENU
lib.subMenu.entryLevel = 1
lib.subMenu.wrap = <div id="menu-level2"><table> <tr> | </tr> </table>

lib.subMenu.1 = TMENU

lib.subMenu.1.NO {
allWrap = <td>|</td>
}

lib.subMenu.1.ACT = 1
lib.subMenu.1.ACT {
allWrap = <td>|</td>
ATagParams = class="active"
}


Пробовала добавить:

lib.subMenu = HMENU
lib.subMenu.entryLevel = 1


lib.subMenu.1 = TMENU
lib.subMenu.1.IFSUB.wrapItemAndSub = <div id="menu-level2"><table> <tr> | </tr> </table>
lib.subMenu.1.NO {
allWrap = <td>|</td>
}

lib.subMenu.1.ACT = 1
lib.subMenu.1.ACT {
allWrap = <td>|</td>
ATagParams = class="active"
}


но это не решило проблему. Еще игралась с разными IFSUB но это тоже не помогло. Чувствую, что решение должно быть. Подскажите, пожалуйста!

Lucifer
05.02.2010, 17:21
lib.subMenu.1.IFSUB = 1

margol
11.02.2010, 20:01
Решение
#========================Main menu==============================

lib.mainMenu = HMENU
lib.mainMenu.entryLevel = 0
lib.mainMenu.wrap = <table width="100%" cellspacing="0"> <tr><td class="cl">&nbsp;</td> | <td class="cl">&nbsp;</td></tr> </table>

lib.mainMenu.1 = TMENU

lib.mainMenu.1 {
NO.allWrap = <td class="fon"><div class="left"></div><div class="cent">|</div><div class="right"></div></td>

ACT = 1
ACT.allWrap = <td class="fon"><div class="left"></div><div class="cent">|</div><div class="right"></div></td>
ACT.ATagParams = class="active"
}
#======================= / Main menu==============================


##=================================Sub Menu=======================
lib.subMenu = HMENU
lib.subMenu.entryLevel = 1
lib.subMenu.wrap=<div id="menu-level2"><table width="100%" cellspacing="0"> <tr> | </tr> </table></div>

lib.subMenu.1 = TMENU
lib.subMenu.1.NO {
allWrap = <td class="cl-level2">&nbsp;</td><td> <div class="nolast"> | </div> </td> |*| <td> <div class="nolast"> | </div> </td> |*| <td> <div class="last"> | </div> </td><td class="cl-level2">&nbsp;</td>
}

lib.subMenu.1.ACT = 1
lib.subMenu.1.ACT {
allWrap = <td> <div class="nolast"> | </div> </td> |*| <td> <div class="nolast"> | </div> </td> |*| <td> <div class="last"> | </div> </td>
ATagParams = class="active"
}

Правда сделала не совсем так, как ставила задачу в первом посте, я сделала при помощи стилей.

Lucifer
12.02.2010, 21:51
А чем мой вариант не понравился? :)

margol
13.02.2010, 10:14
Ваш вариант я тупо не смогла применить :( Не получилось. Возможно не подходит к моей задаче. а возможно просто не смогла.

Lucifer
13.02.2010, 12:23
Я имел ввиду, что у Вас, в первом варианте, не хватало этой строки. Вы написали врап на ифсаб, но не активировали его.

margol
13.02.2010, 19:18
Кусочек кода мне помог бы это понять... если можно...

Lucifer
13.02.2010, 20:40
Ваш код:
lib.subMenu.1 = TMENU
lib.subMenu.1.IFSUB.wrapItemAndSub = <div id="menu-level2"><table> <tr> | </tr> </table>

Туда добавить:
lib.subMenu.1.IFSUB = 1

margol
14.02.2010, 20:11
Спасибо. огроменное!