2011-12-05 49 views
0

我有一個模板工具包中的foreach循環,我轉換爲Smarty,但我不確定要將其更改爲。模板工具包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可變密鑰的循環。

回答

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語法)