Template Toolkit foreach для Smarty - PullRequest
       9

Template Toolkit foreach для Smarty

0 голосов
/ 05 декабря 2011

У меня есть цикл foreach в Template Toolkit, который я конвертирую в 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.

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Я не знаю, есть ли более чистый способ сделать это, но одну вещь, которую вы можете попробовать, это присвоить массив ключей переменной и затем выполнить стандартный {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}
0 голосов
/ 05 декабря 2011
{$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)

...