我有一个简单的设置。带有一些{%block ...%}元素的父模板和定义这些元素的子模板。
奇怪的是(对于我来说是初学者),没有{%block ...%}元素被识别。
代码:
{# main.twig #}
Hello {% block greeting %}{% endblock %}
{% block body %}{% endblock %}
{# child.twig #}
{% extends "main.twig" %}
{% block greeting %}friend{% endblock %}
{% block body %}Some text{% endblock %}
{% block footer %}{% endblock %}
这已经不起作用
下面是一个确切的问题示例(不起作用):
在示例中,我还添加了第三级:
{# child_extend.twig #}
{% extends "child.twig" %}
{% block footer %}Footer text{% endblock %}
如示例所示,没有{%block ...%}得到输出。
自然,我希望所有块都被替换并显示在相应的模板中。
我肯定会错过一些显而易见的东西。
预先感谢您的帮助。
答案 0 :(得分:0)
在您的小树枝中,检查要测试的文件作为主模板。
如果要测试child.twig
,请将此作为主要模板。
另一个问题是块脚不是主文件,因此不会出现。
您可以将其放在主文件中,也可以执行以下操作:
{# child.twig #}
{% extends "main.twig" %}
{% block greeting %}friend{% endblock %}
{% block body %}Some text
{% block footer %}{% endblock %}
{% endblock %}
仅用于示例,最好将块页脚放在主文件中,仅填充文件child_extend.twig
{# main.twig #}
Hello {% block greeting %}{% endblock %}
{% block body %}{% endblock %}
{% block footer %}{% endblock %}
-------------------------------
{# child.twig #}
{% extends "main.twig" %}
{% block greeting %}friend{% endblock %}
{% block body %}Some text{% endblock %}
-------------------------------
{# child_extend.twig #}
{% extends "child.twig" %}
{% block footer %}Footer text{% endblock %}