2010-03-09 130 views
1

是否有可能構建一個Smarty的陣列,例如我曾嘗試構建陣列

{def $totalitems[0]=3} 

但是,這似乎並沒有工作。 Smarty有可能嗎?

謝謝。

回答

1

我不確定你爲什麼想要這樣做。模板系統背後的想法是,您將邏輯從顯示中分離出來。你需要建立在PHP中的數組,然後使用PHP這樣它傳遞到您的Smarty的模板:

$totalitems[0]=3; 
$smarty->assign("totalitems",$totalitems); 

那麼您可以在模板內訪問TOTALITEMS以正常的方式。

+0

+1,並修正了'assign'的拼寫。 – karim79 2010-03-09 19:18:19

1

在Smarty3貝塔可以執行以下操作:

實例: {$ foo的[ '酒吧'] = 1} {$ foo的[ '酒吧'] [ 'blar'] = 1}

看看自述文件:http://smarty-php.googlecode.com/svn/branches/Smarty3Dev/distribution/README

我不知道你是否可以在Smarty2中做到這一點。我在我的Smarty2版本上嘗試了一些東西,但它不起作用。您可能需要升級到Smarty3。

但是,如果可以幫助,我會建議不要在模板中執行邏輯操作。