2011-12-05 5 views
0

私はSmartyに変換しているテンプレートツールキットでforeachループを使用していますが、変更するものは不明です。テンプレートツールキットforey to 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 from=$pack_stats item=ps}{/foreach}にforeachループの変化が、センター内のテキストは、私はpsの変数に渡されたキーのそれぞれをループにそれを変更すべきことなどわからないだということを知っています。

答えて

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} 
+0

'​​{$のps.key}'​​{$ PS。$キー} 'であるべきです' – rodneyrehm

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構文)