Twig 不会替换子模板中的块
Twig does not replace blocks from child template
我有一个简单的设置。包含一些 {% 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 ... %} 得到输出。
当然,我希望我所有的块都被替换并显示在各自的模板中。
我肯定遗漏了一些非常明显的东西。
预先感谢您的帮助。
在你的twigfiddle中,勾选你要测试的文件作为主模板。
如果要测试 child.twig
,请将其作为主模板。
另一个问题是,块脚不是主文件,从中没有出现。
要么把它放在主文件中,要么你可以这样做:
{# child.twig #}
{% extends "main.twig" %}
{% block greeting %}friend{% endblock %}
{% block body %}Some text
{% block footer %}{% endblock %}
{% endblock %}
只是为了举例,最好把block footer放在主文件里,只填文件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 %}
我有一个简单的设置。包含一些 {% 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 ... %} 得到输出。
当然,我希望我所有的块都被替换并显示在各自的模板中。
我肯定遗漏了一些非常明显的东西。
预先感谢您的帮助。
在你的twigfiddle中,勾选你要测试的文件作为主模板。
如果要测试 child.twig
,请将其作为主模板。
另一个问题是,块脚不是主文件,从中没有出现。
要么把它放在主文件中,要么你可以这样做:
{# child.twig #}
{% extends "main.twig" %}
{% block greeting %}friend{% endblock %}
{% block body %}Some text
{% block footer %}{% endblock %}
{% endblock %}
只是为了举例,最好把block footer放在主文件里,只填文件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 %}