0

我在 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 变量的每个键。

4

2 回答 2

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}
于 2011-12-05T19:25:37.430 回答
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 语法)

于 2011-12-05T19:30:38.473 回答