子テンプレートでブロックがオーバーライドされているかどうかを確認したいと思います。
template.html.twig
:
<html>
...
<nav class="menu">
{% block menu %}
{% endblock %}
</nav>
...
<div class="contents">
{% block contents %}
{% endblock %}
</div>
...
</html>
page1.html.twig
-メニューが含まれています:
{% extends '::template.html.twig' %}
{% block menu %}
<ul>
<li>...</li>
</ul>
{% endblock %}
{% block contents %}
Hello World!
{% endblock %}
page2.html.twig
--メニューは含まれていません:
{% extends '::template.html.twig' %}
{% block contents %}
Hello World!
{% endblock %}
子テンプレートでオーバーライドされている場合にのみ、テンプレートに要素を表示したいと思いnav
ます(目標は空の<nav />
要素を回避することです)。
Twig構文にはis empty
テストがありますが、ブロックには適用されず、変数にのみ適用されます。
私は何が間違っているのですか?