Twig 细枝不会替换子模板中的块
我有一个简单的设置。包含一些{%block…%}元素的父模板和定义这些元素的子模板 奇怪的是(对于初学者来说),没有识别出{%block…%}元素 守则:Twig 细枝不会替换子模板中的块,twig,Twig,我有一个简单的设置。包含一些{%block…%}元素的父模板和定义这些元素的子模板 奇怪的是(对于初学者来说),没有识别出{%block…%}元素 守则: {# main.twig #} Hello {% block greeting %}{% endblock %} {% block body %}{% endblock %} 这已经不起作用了 下面是一个(不起作用)确切问题的示例: 在示例中,我还添加了第三个级别: {# child_extend.twig #} {% extend
{# main.twig #}
Hello {% block greeting %}{% endblock %}
{% block body %}{% endblock %}
这已经不起作用了
下面是一个(不起作用)确切问题的示例:
在示例中,我还添加了第三个级别:
{# child_extend.twig #}
{% extends "child.twig" %}
{% block footer %}Footer text{% endblock %}
正如您在示例中所看到的,没有{%block…%}获得输出
当然,我希望所有的块都被替换并显示在相应的模板中
我肯定错过了一些显而易见的东西
提前感谢您的帮助。在您的twigfiddle中,检查要测试的文件作为主模板 如果要测试
child.twig
,请将其作为主模板
另一个问题是块脚不是主文件,它不会出现在主文件中
您可以将其放在主文件中,也可以这样做:
{# child.twig #}
{% extends "main.twig" %}
{% block greeting %}friend{% endblock %}
{% block body %}Some text
{% block footer %}{% endblock %}
{% endblock %}
只是举个例子,最好将块页脚放在主文件中,只填写文件child\u 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 %}
刚刚编辑了我的文章以插入示例代码。另外,最初我认为只有一个块得到输出。但是没有人被认出。编辑以澄清这一点。谢谢。我现在明白了Twigfidle“主模板”背后的想法。由于这个例子,页脚错误逐渐出现了。谢谢你指出这一点。这个例子现在起作用了。因为我使用的是Symfony 4,所以可能在某个地方出现了一个错误,导致无法包含这些块。如果有必要,我会再看一遍,然后再问一个问题。非常感谢。
{# 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 %}