扩展模板资源

extends:扩展资源使用在定义父/子关系的模板继承中。 详情参见模板继承

Smarty 3.1后,extends:资源可以使用任何类型的 资源, 包括string:eval:。 当使用字符串资源的时候,确保其已经被编码(URL编码或base64编码)。 在继承链条中的eval:资源, “不保存编译文件”的特性将被extends:取代。 继承链条中的多个模板不会分开编译,而是仅会生成一个单独的编译文件。

Note

当需要继承的时候使用这个。 当在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}'); 
?>

  

参见 模板继承 {block}{extends}.