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

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

Ответ
 
Опции темы Опции просмотра
Старый 30.04.2008, 13:31   #1
wind
Новенький
 
Регистрация: 01.04.2008
Сообщений: 23
По умолчанию condition для отдельного пункта меню, сделанного с помощью gifbuilder

Проблема заключается в следующем:

возле каждого пункта меню выводит картинка. меню генерируется при помощи gifbuilder. необходимо чтобы для пункта меню с uid=2 картинка не отображалась перед названием пункта меню. пишу такой код:

lib.Top_Menu = HMENU
lib.Top_Menu.1 = GMENU
lib.Top_Menu.1.NO {

10.1.entryLevel = 0
XY = [10.w]+40,153

5 = IMAGE
5.offset = 0,5
10 = TEXT
10.text.field = nav_title
10.offset = -2,17
10.align = center
backColor=#4a5047
10.fontFile = t3lib/fonts/gnb_____.PFB
10.fontSize = 9
10.fontColor = #ffffff
10.text.case = upper
10.value = 75
10.xSpaceBefore = 3
10.xSpaceAfter = 3
10.pixelSpaceFontSizeRef = 9

[uid= 2]
5.file = fileadmin/template/images/clear.png

[else]
5.file = fileadmin/template/images/arrow_white.png

[end]

}

при этом в object browser получаю следующие ошибки:
Line 2566: Object Name String, "[uid" contains invalid character "[". Must be alphanumeric or one of: "_-."
2: Line 2569: Object Name String, "[else]" contains invalid character "[". Must be alphanumeric or one of: "_-."
2: Line 2572: Object Name String, "[end]" contains invalid character "[". Must be alphanumeric or one of: "_-."


если изменить условие и перенести его за пределы фигурных скобок {}:
[globalVar = TSFE:id = 2]
lib.Top_Menu.1.NO.5.file = fileadmin/template/images/clear.png
[else]
lib.Top_Menu.1.NO.5.file = fileadmin/template/images/arrow_white.png
[end]

то ошибок нет, но скрипт работает таким образом, что если текущая страница с uid=2, то нигде картинки перед названиемями пунктов меню не отображаются, а если не2- то везде отображаются. т.е. такой вариант не подходит для данной задачи..
wind вне форума   Ответить с цитированием
Старый 30.04.2008, 20:19   #2
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Вообще, построение таких условий достаточно сложно.
[uid = ] - нет такого условия, вы можете убедиться в этом в TSRef. Кроме того, []-условия не могут быть вложены в блоки {}.
Поэтому такие условия делаются через блоки .if. Примерно так:

5 = IMAGE
5{
#blabla
file = file1.jpg
if{
value.data = field:uid
equals = 2
}
}

15 = IMAGE
15{
#labla
file = file2.jpg
if{
value.data = field:uid
equals = 2
negate = 1
}
}
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 05.05.2008, 12:45   #3
wind
Новенький
 
Регистрация: 01.04.2008
Сообщений: 23
По умолчанию

спасибо огромное! заработало
wind вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
классы для пунктов меню Tod Общие вопросы 6 03.05.2009 22:55
Условие для отдельного пункта меню forever TypoScript практикум 6 28.03.2008 18:20
Меню с оригинальной версткой для каждого пункта Tod TypoScript практикум 6 22.05.2007 02:02
Контейнер для меню на разных уровнях AleXUnder TypoScript практикум 2 23.04.2007 17:31
Вопрос по TS для меню из двух частей -=UncleByte=- TypoScript практикум 6 14.12.2006 01:03


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


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

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