我在Template Toolkit中有一个foreach循环,我要将其转换为Smarty,但我不确定要将其更改为什么。
[% FOREACH ps IN pack_stats %]
<tr>
[% FOREACH key IN [ id, domain, username, password, plan, price, renew, status ] %]
<td>[% ps.$key %]</td>
[% END %]
</tr>
[% END %]我知道在smarty中,foreach循环变成了{foreach from=$pack_stats item=ps}{/foreach},但是中间的文本我不确定要把它改成什么,才能遍历传递给ps变量的每个键。
发布于 2011-12-06 03:25:37
我不知道是否有更干净的方法来做这件事,但你可以尝试的一件事是将一个键数组分配给一个变量,然后在它上面执行一个标准的{foreach}:
{assign var='keys' value=','|explode:"id,domain,username,password,..."}
{foreach from=$pack_stats item=ps}
{foreach from=$keys item=key}
<td>{$ps.$key|escaped}</td>
{/foreach}
{/foreach}发布于 2011-12-06 03:30:38
{$keys = ["id", "domain", "username", "password", "plan", "price", "renew", "status"]}
{foreach $pack_stats as $ps}
<tr>
{foreach $keys as $k}
<td>{$ps.$k|escape}</td>
{/foreach}
</tr>
{/foreach}(Smarty3语法)
https://stackoverflow.com/questions/8390435
复制相似问题