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

正しく理解できたかどうかはわかりません。子に「本文」が定義されている場合、「本文」ブロックの外に「メッセージ」ブロックの内容を表示しますか?

これは次のように実行できます。

{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 に答える