我正在考虑在symfony2中组织我的基本布局,其中只包含3个块:标题,内容和页脚。我希望每个块都有一个模板。 “内容”模板将是一个空的模板,仅显示每个部分的模板,遵循“3级”指令。 但我不知道如何包含页眉和页脚模板。我已经完成了创建“通过”模板,因此,例如,内容扩展页脚,页脚扩展标题,标题扩展基础,但它看起来非常糟糕。 感谢。
答案 0 :(得分:4)
你可以使用embed标签,它结合了include和extends的行为。它允许您包含另一个模板的内容,就像include do一样。但它也允许您覆盖包含模板中定义的任何块,例如扩展模板时, 但需要1.8版本
答案 1 :(得分:3)
你不能在Twig中扩展多个模板 ,这无论如何都是不合逻辑的。
你应该使用include
,这有点不同。
常见的方法是有一个基本模板,除了将包含在其中的页眉和页脚之外,它将被所有其他模板扩展。
base.html.twig:
...
<body>
{% include '::header.html.twig' %}
{% block body %}{% endblock %}
{% include '::footer.html.twig' %}
</body>
...
在其他模板中,您的包的视图例如:
{% extends '::base.html.twig' %}
{% block body %}
Hello world!
{% endblock %}