嫩枝

灵活、快速、安全
PHP模板引擎

Syob娱乐下载mfony产品
文档 标签 使用
您正在阅读Twig 3.x的文档。欧宝官网下载app切换到Twig的文档欧宝官网下载app1.倍2.倍

问题与反馈

许可证

嫩枝欧宝官网下载app在新BSD下获得许可许可证

使用

请注意

水平重用是一个高级的Twig特性,在常规模板中几乎不需要。它主要用于需要在不使用继承的情况下使模板块可重用的项目。

模板继承是Twig最强大的特性之一,但它仅限于单一继承;一个模板只能扩展一个模板。这个限制使得模板继承易于理解和调试:

1 2 3 4
{%扩展“base.html”%}{%标题%}{%endblock%}{%内容%}{%endblock%}

水平重用是实现与多重继承相同目标的一种方式,但没有相关的复杂性:

1 2 3 4 5 6
{%扩展“base.html”%}{%使用“blocks.html”%}{%标题%}{%endblock%}{%内容%}{%endblock%}

使用语句告诉Twig导入定义在blocks.html到当前模板中(它类似于宏,但用于块):

1 2 3
{# blocks.html #}{%侧边栏%}{%endblock%}

在本例中,使用语句导入侧边栏块放入主模板中。代码大部分相当于下面的代码(导入的块不会自动输出):

1 2 3 4 5
{%扩展“base.html”%}{%侧边栏%}{%endblock%}{%标题%}{%endblock%}{%内容%}{%endblock%}

请注意

使用标记只在模板没有扩展另一个模板、没有定义宏以及主体为空的情况下导入模板。但是它可以使用其他模板。

请注意

因为使用语句的解析独立于传递给模板的上下文,模板引用不能是表达式。

主模板还可以覆盖任何导入的块。属性侧边栏Block,然后是blocks.html将被忽略。为了避免名称冲突,你可以重命名导入的块:

1 2 3 4 5 6 7
{%扩展“base.html”%}{%使用"blocks.html",边栏为base_sidebar,标题为base_title %}{%侧边栏%}{%endblock%}{%标题%}{%endblock%}{%内容%}{%endblock%}

父()函数自动确定正确的继承树,因此可以在覆盖导入模板中定义的块时使用:

1 2 3 4 5 6 7 8 9 10
{%扩展“base.html”%}{%使用“blocks.html”%}{%侧边栏%}{{()}}{%endblock%}{%标题%}{%endblock%}{%内容%}{%endblock%}

在这个例子中,父()将正确地调用侧边栏blocks.html模板。

提示

重命名允许你通过调用“parent”块来模拟继承:

1 2 3 4 5 6 7
{%扩展“base.html”%}{%使用"blocks.html",边栏为parent_sidebar %}{%侧边栏%}{{(“parent_sidebar”)}}{%endblock%}

请注意

你可以任意使用使用语句在任何给定模板中。如果两个导入的模板定义相同的块,则最新的模板胜出。

网站由ob娱乐下载和树枝,部署在
的树枝标志©2010-2023ob娱乐下载