![]() |
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- то везде отображаются. т.е. такой вариант не подходит для данной задачи.. |
Вообще, построение таких условий достаточно сложно.
[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 } } |
спасибо огромное! заработало:)
|
Часовой пояс GMT +4, время: 09:05. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot