Smarty模板:如何更改子模板中块的顺序?

Lei*_*eif 6 php templates smarty shopware

我想在使用父块的内容时更改子模板中父块的顺序.

例:

父模板:

{block outer}
    {block a} ... some long content ...{/block}
    {block b} ... some long content ...{/block}
    {block c} ... some long content ...{/block}
{/block}
Run Code Online (Sandbox Code Playgroud)

儿童模板:

{extends file="parent:parent.tpl"}
{block outer}
    {block c} reuse content of parent block "c" {/block}
    {block b} reuse content of parent block "b" {/block}
    {block a} reuse content of parent block "a" {/block}
{/block}
Run Code Online (Sandbox Code Playgroud)

我尝试使用{$smarty.block.parent}内部块a,b和c:

{extends file="parent:parent.tpl"}
{block outer}
    {block c} {$smarty.block.parent} {/block}
    {block b} {$smarty.block.parent} {/block}
    {block a} {$smarty.block.parent} {/block}
{/block}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,{$smarty.block.parent}包含父块"外部"的内容.

是否可以在子模板中呈现内部块a,b和c的内容?

场景:块a,b和c的内容非常复杂,我想避免从父节点复制和粘贴整个内容.

Eic*_*ich 0

您是否尝试过添加父块​​名称?

{extends file="parent:parent.tpl"}
{block outer}
    {block c} {$smarty.block.parent.c} {/block}
    {block b} {$smarty.block.parent.b} {/block}
    {block a} {$smarty.block.parent.a} {/block}
{/block}
Run Code Online (Sandbox Code Playgroud)