В расширенных шаблонах не работают условия fenom

Здравствуйте.

Непонятное мне поведение удалось словить при попытке сделать расширенные шаблоны. Создаю базовый шаблон, и его расширение. Отображается все хорошо, за исключением условий с переменными. Сейчас приведу пример.

Шаблон 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}
Переменная города выводится. А условия не отрабатываются, ни родительские, ни на этой странице.
Посоветуйте куда копать, что делать?

Спасибо.
gg-
gg-
29 ноября 2016, 12:38
modx.pro
1
1 482
0

Комментарии: 5

Наумов Алексей
29 ноября 2016, 15:51
+1
А {parent} что такое? Может {$parent}? fenom очень не любит просто так стоящие скобочки лишние
    gg-
    gg-
    29 ноября 2016, 16:03
    0
    Нет, все верно. Четко по документации. Можно и убрать, но это не решает проблему.
    gg-
    gg-
    29 ноября 2016, 17:24
    1
    +1
    В общем решение оказывается на поверхности.

    Переменная передается в расширенный шаблон, но закинуть ее в условие не получается. В итоге блок с переменными ставим в каждый шаблон. Меняем его по желанию. И условия начинают работать.

    {extends 'template:Base'}
    {block 'vars'}
      {var $city = '[[#COOKIE.city]]'}
    {/block}
      Paul B.
      29 ноября 2016, 17:45
      +1
      Странно, если переменная передаётся и выводится, то она должна работать. Ведь она же осталась переменной со своим значением.

      У меня у самого похожая реализация: в базовом шаблоне находятся переменные с путями до шаблонов, стилей и прочего, которые иногда нужны в конечных шаблонах или чанках. Но в расширенном шаблоне у меня читается информация, а в чанки передаю данные, как в правилах — через массив при вызове.
        gg-
        gg-
        30 ноября 2016, 12:41
        0
        Да, сам поразился. Значения передаются, но условия не работают. Я только постигаю дзен по fenom, поэтому могу шаблоны сделать не такими оптимальными, сейчас пока пользуюсь условиями (адаптирую вывод под определенный город текст, контакты..., где можно и без чанков). Может и по-другому можно как-то.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5