В расширенных шаблонах не работают условия fenom
Здравствуйте.
Непонятное мне поведение удалось словить при попытке сделать расширенные шаблоны. Создаю базовый шаблон, и его расширение. Отображается все хорошо, за исключением условий с переменными. Сейчас приведу пример.
Шаблон Base
Теперь пытаюсь расширить шаблон NewTemplate
Посоветуйте куда копать, что делать?
Спасибо.
Непонятное мне поведение удалось словить при попытке сделать расширенные шаблоны. Создаю базовый шаблон, и его расширение. Отображается все хорошо, за исключением условий с переменными. Сейчас приведу пример.
Шаблон Base
{var $city = '[[#COOKIE.city]]'}
<html>
<body>
{block 'city'}
{$city == '1' ? 'Москва' : ''}{$city == '2' ? 'Санкт-Петербург' : ''}
{if $city == '1'}
Москва
{elseif $city == '2'}
Санкт-Петербург
{/if}
{/block}
</body>
</html>
Страница с этим шаблоном работает хорошо. выводится название города.Теперь пытаюсь расширить шаблон NewTemplate
{extends 'template:Base'}
{block 'city'}
{$city}
{$city == '1' ? 'Москва' : ''}{$city == '2' ? 'Санкт-Петербург' : ''}
{if $city == '1'}
Москва
{elseif $city == '2'}
Санкт-Петербург
{/if}
{parent}
{/block}
Переменная города выводится. А условия не отрабатываются, ни родительские, ни на этой странице. Посоветуйте куда копать, что делать?
Спасибо.
Комментарии: 5
А {parent} что такое? Может {$parent}? fenom очень не любит просто так стоящие скобочки лишние
Нет, все верно. Четко по документации. Можно и убрать, но это не решает проблему.
В общем решение оказывается на поверхности.
Переменная передается в расширенный шаблон, но закинуть ее в условие не получается. В итоге блок с переменными ставим в каждый шаблон. Меняем его по желанию. И условия начинают работать.
Переменная передается в расширенный шаблон, но закинуть ее в условие не получается. В итоге блок с переменными ставим в каждый шаблон. Меняем его по желанию. И условия начинают работать.
{extends 'template:Base'}
{block 'vars'}
{var $city = '[[#COOKIE.city]]'}
{/block}
Странно, если переменная передаётся и выводится, то она должна работать. Ведь она же осталась переменной со своим значением.
У меня у самого похожая реализация: в базовом шаблоне находятся переменные с путями до шаблонов, стилей и прочего, которые иногда нужны в конечных шаблонах или чанках. Но в расширенном шаблоне у меня читается информация, а в чанки передаю данные, как в правилах — через массив при вызове.
У меня у самого похожая реализация: в базовом шаблоне находятся переменные с путями до шаблонов, стилей и прочего, которые иногда нужны в конечных шаблонах или чанках. Но в расширенном шаблоне у меня читается информация, а в чанки передаю данные, как в правилах — через массив при вызове.
Да, сам поразился. Значения передаются, но условия не работают. Я только постигаю дзен по fenom, поэтому могу шаблоны сделать не такими оптимальными, сейчас пока пользуюсь условиями (адаптирую вывод под определенный город текст, контакты..., где можно и без чанков). Может и по-другому можно как-то.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.