extends:
扩展资源使用在定义父/子关系的模板继承中。
详情参见模板继承。
Smarty 3.1后,extends:
资源可以使用任何类型的
资源,
包括string:
和 eval:
。
当使用字符串资源的时候,确保其已经被编码(URL编码或base64编码)。
在继承链条中的eval:
资源,
“不保存编译文件”的特性将被extends:
取代。
继承链条中的多个模板不会分开编译,而是仅会生成一个单独的编译文件。
当需要继承的时候使用这个。 当在PHP代码中使用继承,子模板的覆盖看起来不是很明显。 如果可以选择,这是一个更灵活和直接的方式来处理模板继承。
Example 16.9. 使用模板继承
<?php $smarty->display('extends:parent.tpl|child.tpl|grandchild.tpl'); // 从多个模板资源中继承 $smarty->display('extends:db:parent.tpl|file:child.tpl|grandchild.tpl|eval:{block name="fooBazVar_"}hello world{/block}'); ?>