Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Поместить меню в контейнер в зависимости о наличия у этого меню пунктов. (http://forum.typo3.ru/showthread.php?t=8342)

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

Спасибо. огроменное!


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

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