我有一个视图view.twig,它扩展了template_child.twig,而后者又扩展了template_base.twig:
我希望能够将每个块嵌套在另一个块中,而无需创建一个"sub_content“块,该块只在扩展template_child时才能工作。因此,view.twig可以扩展任何一个模板,而不需要重命名块指令。
view.tig
{% extends "template_child.twig" %}
{% block content %}
Stuff that should go in "content"
{% endblock content %}template_child.tig
{% extends "template_base.twig" %}
{% block content %}
<div id="styling-of-content">
{% block content %}
{% endblock content %}
</div>
Stuff that absolutely needs to be after "content"
{% endblock content %}template_base.tig
<html><body>
{% block content %}
{% endblock content %}
</body></html>当前,Twig在试图运行以下代码时输出此错误:
块'content‘已经在Y行的"template_child.twig“中定义了X行
使用Twig v1.12.3
发布于 2014-01-30 18:18:53
这是不可能的,因为Twig在纯PHP类和方法中编译模板。在PHP中,子方法始终具有覆盖父方法的能力。
解决方案是使用在sub_content中定义的view.twig块,该块包含在"template_child.twig“中的内容块中。
https://stackoverflow.com/questions/21460647
复制相似问题