FOSUserBundle, динамически меняйте ветку для рендеринга

Чтобы переопределить шаблон для FOSUserBundle, я должен создать файл ветки с тем же именем, сохраняя иерархию. Это нормально, и это работает отлично.

Моя проблема в том, что файл ветки не является статическим (в настольной версии я буду отображать файл ветки, а в мобильной версии мы будем отображать другой). Я решаю, какую ветку отображать на контроллере, тестируя переменную сеанса.

Есть ли решение для динамического изменения ветки для рендеринга в FOSUserBundle без переопределения всех контроллеров?


person zizoujab    schedule 18.12.2013    source источник


Ответы (1)


Вы также можете проверить переменную сеанса в twig. Просто включите другой шаблон в свою ветку:

{% if app.session.isMobile %}
    {% include '::mobile.html.twig' %}
{% else %}
    {% include '::desktop.html.twig' %}
{% endif %}
person i.am.michiel    schedule 18.12.2013
comment
Блестящая идея, я думал об этом, но не таким образом. Этот способ намного лучше. - person zizoujab; 18.12.2013