Переменная Twig недоступна на расширенной странице за пределами блоков?

#symfony #twig

Вопрос:

У меня такая ситуация:

 {% extends 'base.html.twig' %}
{% set isManager = (isAdmin or isAffiliateManager or app.user.isFinanceDepartment) %}

{% block content %}
[...](add some html if manager)
{% endblock %}

{% block css %}
(add some css if manager)
{% endblock %}

{% block js %}
(add some js if manager)
{% endblock %}
 

isAdmin и isAffiliateManager объявляются в base.html.twig . Я хочу получить доступ isManager ко всем блокам, не объявляя об этом 3 раза. Почему это невозможно?


Изменить: более простая репликация: https://twigfiddle.com/kcz6mn/2

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

1. Привет, попробуйте переместить переменную набора поверх расширяемой части.

2. @MuhFadjarRhomadoni тот же эффект 🙁

3. Я думаю, что решения нет, я вычислю и передам isManager от контроллера…

4. @DarkBee вот оно: twigfiddle.com/kcz6mn/2 бар установлен в main.twig, который расширен

5. Если вам это нужно в нескольких местах, вы всегда можете расширить веточку и добавить пользовательскую функцию, которая обеспечивает проверку