Я хочу, чтобы шаблон наследовал базовый шаблон, когда пользователь не вошел в систему, и другой шаблон, когда пользователь вошел в систему.
Я пробовал несколько вещей. Одна из очевидных - это попытка:
{% extends app.user == null ? 'base.html.twig' : 'protected.html.twig' %}
Другая попытка:
{% extends app.user ? 'protected.html.twig' : 'base.html.twig' %}
И так далее ... ничего не работает. Всегда используется base.html.twig.
Когда я показываю значение {{app.user}}, отображается правильное значение (имя пользователя или пусто, если вы вошли в систему или нет, соответственно)
Любые идеи?
Обновлено:
Это полный шаблон, который должен быть условным, в зависимости от того, вошел пользователь в систему или нет.
{% extends app.user ? 'protected.html.twig' : 'base.html.twig' %}
{% block title %}Inicio{% endblock %}
{% block conditional %}
<style>
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
</style>
<div class = "example-wrapper">
<h1>Hello {{ controller_name }}! ✅</h1>
This friendly message is coming from:
<ul>
<li>Your controller at <code><a href = "{{ 'src/Controller/DefaultController.php'|file_link(0) }}">src/Controller/DefaultController.php</a></code></li>
<li>Your template at <code><a href = "{{ 'templates/default/index.html.twig'|file_link(0) }}">templates/default/index.html.twig</a></code></li>
</ul>
</div>
{% endblock %}
{% if app.user %}
{% block protected_body %}
{{ block('conditional') }}
{% endblock %}
{% else %}
{% block body %}
{{ block('conditional') }}
{% endblock %}
{% endif %}





Наконец, я уверен, что это невозможно. Возможно ограничение веточки.
Итак, я добавил это условие в контроллер и визуализировал шаблон или другое в зависимости от пользователя.
Внутри обоих шаблонов я добавил включение к общему шаблону.
С уважением, Хайме
Вам необходимо поместить ваш if в block, потому что условные блоки в twig не используются.
{% block protected_body %}
{% if app.user %}
{{ block('conditional') }}
{% endif %}
{% endblock %}
{% block body %}
{% if not app.user %}
{{ block('conditional') }}
{% endif %}
{% endblock %}