2012-12-19 105 views
0

我有這個smarty模板,我需要從我的文件中調用一個函數。PHP Smarty插入函數和變量

一切工作正常,PHP識別參數,但不是smarty變量的值。 代碼:

{insert name=file_details value=a assign=fd fid=$m[i].FID} 
<ul class='list'> 
    {section name=x loop=$fd} 
     {insert name=gfs assign=afs a=$fd[x]} 
     <li><a href="{$baseurl}/files/{$fd[x].FID|md5}{$fd[x].s}/{$fd[x].fname}" target="_blank"> 
     {$fd[x].fname} <b>[{$afs}]</b> 
     </a></li> 
    {/section} 
</ul> 

含義。 第一次插入從我的數據庫檢索一些文件信息,使用參數$ m [i] .FID一切正常,當我告訴他例如{$ fd [x] .fname}它顯示文件的名稱,但當我告訴他{insert name = gfs assign = afs a = $ fd [x]},並在函數insert_gfs中創建一個var_dump(a)時,所有的值都顯示爲空。

任何幫助將是巨大的,我不知道我錯過了什麼

回答

0

數組當作使用在Smarty的$m.i。不是$m[i]

如果你像這樣替換所有數組符號,它應該可以工作。

{insert name=file_details value=a assign=fd fid=$m.i.FID} 
<ul class='list'> 
    {section name=x loop=$fd} 
     {insert name=gfs assign=afs a=$fd.x} 
     <li><a href="{$baseurl}/files/{$fd.x.FID|md5}{$fd.x.s}/{$fd.x.fname}" target="_blank"> 
     {$fd.x.fname} <b>[{$afs}]</b> 
     </a></li> 
    {/section} 
</ul> 
+0

感謝,到了最後,我不得不重寫功能,這顯然是無法得到parammeters當我打電話 {插入名稱= GFS =指定一個AFS = $ fd.x} –