我想根据 smarty 数据定义 smarty 块名称,但我似乎做不到。
例子:
{foreach $array as $code}
{block name=block_$code}
<div id='{$code}'></div>
{/block}
{/foreach}
我的目的是通过子模板扩展特定的 block_$code 块。这是可能的还是我可以使用其他一些技巧来做到这一点?
谢谢。
我能够找到 2011 年的以下链接,表明当时这是不可能的。我怀疑它仍然不是:
http://www.smarty.net/forums/viewtopic.php?t=19805&highlight=block%20variable%20name
好消息是我能够弄清楚如何在没有它的情况下使我的代码工作。我希望能够仅覆盖由 foreach 定义的 div 之一。我可以这样做:
家长:
{foreach $array as $code}
{block name=code_loop}
<div>Normal Stuff</div>
{/block}
{/foreach}
孩子:
{block name=code_loop}
{if $code == 'code of interest'}
<div>New Stuff</div>
{else}
{$smarty.block.parent}
{/if}
{/block}