Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
30.04.2008, 13:31 | #1 |
Новенький
Регистрация: 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- то везде отображаются. т.е. такой вариант не подходит для данной задачи.. |
30.04.2008, 20:19 | #2 |
Senior Member
|
Вообще, построение таких условий достаточно сложно.
[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 |
05.05.2008, 12:45 | #3 |
Новенький
Регистрация: 01.04.2008
Сообщений: 23
|
спасибо огромное! заработало
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
классы для пунктов меню | 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 |