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

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 05.02.2010, 16:20   #1
margol
Senior Member
 
Аватар для margol
 
Регистрация: 09.07.2007
Адрес: Волгоград
Сообщений: 322
Отправить сообщение для margol с помощью ICQ
По умолчанию Поместить меню в контейнер в зависимости о наличия у этого меню пунктов.

Задача:
Если на этом уровне (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 но это тоже не помогло. Чувствую, что решение должно быть. Подскажите, пожалуйста!
margol вне форума   Ответить с цитированием
Старый 05.02.2010, 17:21   #2
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

lib.subMenu.1.IFSUB = 1
Lucifer вне форума   Ответить с цитированием
Старый 11.02.2010, 20:01   #3
margol
Senior Member
 
Аватар для margol
 
Регистрация: 09.07.2007
Адрес: Волгоград
Сообщений: 322
Отправить сообщение для margol с помощью ICQ
По умолчанию

Решение
Цитата:
#========================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"
}
Правда сделала не совсем так, как ставила задачу в первом посте, я сделала при помощи стилей.

Последний раз редактировалось margol; 11.02.2010 в 20:28
margol вне форума   Ответить с цитированием
Старый 12.02.2010, 21:51   #4
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

А чем мой вариант не понравился?
Lucifer вне форума   Ответить с цитированием
Старый 13.02.2010, 10:14   #5
margol
Senior Member
 
Аватар для margol
 
Регистрация: 09.07.2007
Адрес: Волгоград
Сообщений: 322
Отправить сообщение для margol с помощью ICQ
По умолчанию

Ваш вариант я тупо не смогла применить Не получилось. Возможно не подходит к моей задаче. а возможно просто не смогла.
margol вне форума   Ответить с цитированием
Старый 13.02.2010, 12:23   #6
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

Я имел ввиду, что у Вас, в первом варианте, не хватало этой строки. Вы написали врап на ифсаб, но не активировали его.
Lucifer вне форума   Ответить с цитированием
Старый 13.02.2010, 19:18   #7
margol
Senior Member
 
Аватар для margol
 
Регистрация: 09.07.2007
Адрес: Волгоград
Сообщений: 322
Отправить сообщение для margol с помощью ICQ
По умолчанию

Кусочек кода мне помог бы это понять... если можно...
margol вне форума   Ответить с цитированием
Старый 13.02.2010, 20:40   #8
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

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

Туда добавить:
lib.subMenu.1.IFSUB = 1
Lucifer вне форума   Ответить с цитированием
Старый 14.02.2010, 20:11   #9
margol
Senior Member
 
Аватар для margol
 
Регистрация: 09.07.2007
Адрес: Волгоград
Сообщений: 322
Отправить сообщение для margol с помощью ICQ
По умолчанию

Спасибо. огроменное!
margol вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рендеринг меню в таблицу AleXUnder Общие вопросы 3 26.03.2009 17:55
Контейнер для меню на разных уровнях AleXUnder TypoScript практикум 2 23.04.2007 17:31


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


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

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