Skip to content

扩展模板资源 {/programmers/resources/resources-extends/}

extends:资源用于从 PHP 脚本定义模板继承的子/父关系。有关详细信息,请参阅模板继承部分。

从 Smarty 3.1 开始,extends:资源可以使用任何可用的模板资源,包括string:eval:。当使用字符串中的模板时,请确保它们已经正确地(url 或 base64)编码。如果在继承链中找到了eval:资源,其“不保存编译文件”的属性将被extends:资源取代。然而,继承链中的模板不会单独编译。只会生成一个编译后的模板。

注意

当需要在程序中实现继承时,使用这个。在 PHP 中进行继承时,从子模板中看不出进行了什么继承。如果你有选择的话,通常在模板内处理继承链更灵活,也更直观。

    <?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}