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 %]

私はスマートに foreach ループが変更されることを知ってい{foreach from=$pack_stats item=ps}{/foreach}ますが、中央のテキストは、 ps 変数に渡された各キーをループするために何に変更すればよいかわかりません。

4

2 に答える 2

2

これを行うためのよりクリーンな方法があるかどうかはわかりませんが、試すことができる1つのことは、キーの配列を変数に割り当ててから、それに対して標準{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 に答える