2012-09-14 40 views
0

我是新來smarty,我想讓我分配的變量$dropcat工作 - 我可以print_r出這個數組罰款。Smarty的foreach沒有顯示數據

當我使用下面的方法沒有顯示爲什麼?

{foreach from=$dropcat item=cat} 
     <select name="{$cat.id}" multiple> 
     <option value="{$cat.id}">{$cat.name}</option> 
     </select> 
     {/foreach} 
+0

您是否在顯示前插入'$ smarty_instance-> assign('dropcat',$ dropcat);'? –

+0

@chumkiu我在我的代碼中有那行不是我的.tpl –

+0

是的。你的代碼看起來正確。所以錯誤應該在其他地方 –

回答

0

你的代碼應該是這樣的:內選擇

PHP

// other stuff, instance etc 
print_r($dropcat); 
$smarty->assign('dropcat',$dropcat); 
$smarty->display('yourhtml.tpl'); 

TPL

<select name="category" multiple> 
{foreach from=$dropcat item='cat'} 
    <option value="{$cat.id}">{$cat.name}</option> 
{/foreach} 
</select> 

注意的foreach和PHP代碼分配。

如果仍然沒有顯示,請嘗試清除smarty緩存或其他項目緩存(如果有)。