模板工具包预示着Smarty

时间:2011-12-05 19:02:53

标签: php smarty template-toolkit

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

2 个答案:

答案 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语法)