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

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 13.09.2008, 19:15   #1
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию Условные операторы

Как использовать условные операторы (if... else) в тупоскрипте?
Есть меню
Код:
lib.menu_1 = HMENU

lib.menu_1.entryLevel = -1
lib.menu_1.1 = TMENU
lib.menu_1.1 {
  NO.allWrap = <div class="menu1-level1-no"> | </div>
  NO.stdWrap.htmlSpecialChars = 1
}
Нужно изменить ентрилевел, если выбраный пункт не содержит в себе подпункты. Нашел свойство IFSUB, только не знаю, как его использовать. Не знаю синтаксиса.
Lucifer вне форума   Ответить с цитированием
Старый 13.09.2008, 21:09   #2
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

условий такого плана в TS нет (entryLevel не stdWrap)
Можно написать пхп код, чтобы сделать..
но наверное задачу можно решить задав корень для данного меню (использовать HMENU тип directory)


Цитата:
lib.nav2 = HMENU
lib.nav2 {
special = directory
entryLevel=1
special.value.data=leveluid:1
#special.value = 140
1 = TMENU
1 {
expAll = 1
noBlur = 1
wrap = <ul>|</ul>
NO.wrapItemAndSub = <li>|</li>
NO.ATagTitle.field = description // title
CUR < .NO
CUR = 1
CUR.wrapItemAndSub = <li class="active">|</li>
ACT=1
ACT.wrapItemAndSub = <li class="active">|</li>
}
}

[treeLevel = 2,3,4,5]
lib.nav2 {
#entryLevel=2
special.value.data=leveluid:2
}
[end]

lib.nav2.stdWrap.ifEmpty.cObject < lib.nav2
lib.nav2.stdWrap.ifEmpty.cObject {
special.value.data=leveluid:1
}
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 15.09.2008, 11:02   #3
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

Разобрался не со всеми свойствами. Получилость сделать только на последнем уровне вложенности, если трилевел = 3 и ентрилевел = 2. как работает условие, что бы проверять, есть ли подстраницы так и не понял... Как понимаю, это связано со special.value.data?
И нельзя ли сделать что нибудь подобное
Код:
[treeLevel = 2,3,4,5]
lib.menu_1.!IFSUB{
entryLevel=-2
}
[end]
А если делать пхп, в какой переменной лежат пункты меню? С пхп туповскими переменными еще не пользовался
Lucifer вне форума   Ответить с цитированием
Старый 15.09.2008, 12:20   #4
pomotom
Senior Member
 
Регистрация: 09.12.2007
Сообщений: 281
По умолчанию

нельзя. entryLevel не является свойством TMENU, тем более свойством menuItem.
Можно попытаться сделать что-то вроде:
Код:
menu = HMENU
menu.1 = TMENU
menu.1 {
CUR {
   #сработает если нет потомков у текущей страницы
   
   #отключаем стандартный рендеринг
   stdWrap.override = <span></span>
   doNotLinkIt = 1
   
   #рендерим нужное меню
   allStdWrap {
     preCobject = HMENU
   #здесь задается нужное вам меню


}

}
CURIFSUB {
#сработает если есть потомки

}

}

Последний раз редактировалось pomotom; 15.09.2008 в 12:44
pomotom вне форума   Ответить с цитированием
Старый 15.09.2008, 12:39   #5
Lucifer
Senior Member
 
Аватар для Lucifer
 
Регистрация: 01.07.2008
Сообщений: 392
По умолчанию

Цитата:
Сообщение от pomotom Посмотреть сообщение
нельзя. entryLevel не является свойством TMENU, тем более свойством menuItem.
Ну а каким образом мне все реализовать? Что бы было универсально для любого уровня вложенности???
Lucifer вне форума   Ответить с цитированием
Ответ


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

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

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


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


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

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