1

我有一个像这样的父模板:

{block "body"}{block "message"}Some stuff{/block}{/block}

和一个扩展所述父模板的模板,如下所示:

{extends "parent.tpl"}

{block "body"}
    Some content...
    {block "message"}{$smarty.block.parent}{/block}
{/block}

在哪里{block "message"}{$smarty.block.parent}{/block}我想将父块的内容移到那里 - 基本上,如果模板扩展了父块,则消息应该显示在正文中,但如果它扩展了子块,它应该显示在一些其他区域。有没有一种很好的方法可以用 Smarty 模板解决这个问题?

4

1 回答 1

1

我不确定我是否理解正确。如果在孩子中定义了“body”,是否要在“body”块之外显示“message”块的内容?

这可以按如下方式完成:

{block "body"}{block "message"}Some stuff{/block}{/block}
some text...
{if $foo}{$foo}{/if}

{extends file='parent.tpl'}
{block "body"}
  Some content...
  {capture assign=foo}{block "message"}{$smarty.block.parent}{/block}{/capture}
{/block}
于 2012-02-05T23:15:28.800 回答