0

我正在考虑在 symfony2 中组织我的基本布局,只包含 3 个块:页眉、内容和页脚。我希望每个块都有一个模板。“内容”模板将是一个空模板,仅显示每个部分的模板,遵循“3 级”指令。但我不知道如何包含页眉和页脚模板。我已经创建了“by pass”模板,例如,内容扩展了页脚,页脚扩展了页眉,页眉扩展了基础,但它看起来很糟糕。谢谢。

4

2 回答 2

4

您可以使用嵌入标签,它结合了包含和扩展的行为。它允许您包含另一个模板的内容,就像 include 一样。但它也允许您覆盖在包含的模板中定义的任何块,例如在扩展模板时,但需要 1.8 版

嵌入标签

于 2012-06-03T11:29:21.960 回答
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 %}
于 2012-06-03T10:58:42.300 回答