Я хочу, чтобы шаблон наследовал базовый шаблон, когда пользователь не вошел в систему, и другой шаблон, когда пользователь вошел в систему.
Я пробовал несколько вещей. Одним из очевидных является эта попытка:
{% extends app.user == null ? 'base.html.twig' : 'protected.html.twig' %}
Другая попытка:
{% extends app.user ? 'protected.html.twig' : 'base.html.twig' %}
И так далее ... ничего не работает. Всегда используется base.html.twig.
Когда я отображаю значение {{app.user}}, отображается правильное значение (имя пользователя или пусто, если вы вошли в систему или не вошли в систему соответственно)
Есть идеи?
EDIT:
Это полный шаблон, который должен быть условным, в зависимости от того, вошел ли пользователь в систему или нет.
{% 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 %}