2
{block}标记和{include}标记之间的主要区别是什么?我知道它们都用于模板继承,但是它能更快地工作还是提供更大的灵活性?{block}和{include}有什么区别?
{block}标记和{include}标记之间的主要区别是什么?我知道它们都用于模板继承,但是它能更快地工作还是提供更大的灵活性?{block}和{include}有什么区别?
{include}
函数只是指另一个模板文件,其内容应包含在输出中的该点。它与任何类型的继承无关,并且像PHP的include
/require
和函数调用之间的交叉一样工作,因为您可以传入参数并且变量可以具有本地范围。
{block}
函数用于Template Inheritance。虽然可以通过巧妙使用子模板来模拟这些效果,但其基本思路是非常不同的。正如文档中所述,父模板可以有多个命名模块,并且子模板可以覆盖其中的任何一个或所有模板,通过名称引用它们,其余代码直接来自父模板。
想到这一点的一种方式是{include}
如果您想要将多个内容部分包含到多个页面结构中,可以使用{include}
,而如果您需要许多具有相似结构但具有不同结构的页面,则模板继承将更为合适内容在某些部分。当然,你可能希望两者兼有。