我想检查一个块是否在子模板中被覆盖。
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测试,但它只适用于变量,而不适用于块。
我究竟做错了什么?