我有三个模板:
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" append}
grandchild
{/block}
呈现grandchild.tpl
时的输出是
base
child
grandchild
但我想跳过child.tpl
添加的内容,所以我想得到这个输出:
base
grandchild
问题是,这需要在不更改base.tpl
和child.tpl
(均来自第三方)的情况下完成,我不能只在base.tpl
中扩展grandchild.tpl
,因为child.tpl
中有更多含有{{1}}内容的块,我希望在结果中有。
答案 0 :(得分:3)
在这种情况下,您应该简单地更改base.tpl
和grandchild.tpl
中的块名称,并保持child.tpl
不会更改。
<强> base.tpl 强>
{block name="myBlock2"}
base
{/block}
<强> child.tpl 强>
{extends file="base.tpl"}
{block name="myBlock" append}
child
{/block}
<强> grandchild.tpl 强>
{extends file="child.tpl"}
{block name="myBlock2" append}
grandchild
{/block}
现在输出:
基
孙子
编辑 - 在评论信息之后,base.tpl也无法修改
您似乎唯一需要做的就是从append
删除grandchild.tpl
并保留其他2个文件。
<强> grandchild.tpl 强>
{extends file="child.tpl"}
{block name="myBlock"}
grandchild
{/block}
输出是:
基
孙子
如你所愿