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