我在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 %]
我知道在forey中,foreach循环更改为{foreach from=$pack_stats item=ps}{/foreach}
但是中心的文本我不确定要将其更改为循环传递给ps变量的每个键。
答案 0 :(得分:2)
我不知道是否有更简洁的方法可以做到这一点,但您可以尝试的一件事是为变量分配一组键,然后对其执行标准{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}
答案 1 :(得分:0)
{$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语法)