模板继承:删除祖父中添加的块并附加到父中

时间:2014-11-19 12:45:34

标签: smarty smarty3

在一个聪明的模板中,我有三个模板:

base.tpl

{block name="myBlock"}
    base
{/block}

child.tpl

{extends file="base.tpl"}
{block name="myBlock" append}
    child
{/block}

grandchild.tpl

{extends file="child.tpl"}
{block name="myBlock"}{/block}

渲染grandchild.tpl时,输出为

base

所以孙子模板想要替换整个块的内容,但只替换附加部分。如何删除整个块?

相关:How to remove content appended to block in parent template?

1 个答案:

答案 0 :(得分:1)

此处的解决方案位于child.tpl更改块定义中:

{block name="myBlock" append}
    child
{/block}

成:

{block name="myBlock"}
    {$smarty.block.parent} child
{/block}