我有这个聪明的模板,我需要从我的文件中调用一个函数。
一切正常,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),所有值都显示为null。
任何帮助都会很棒,我不知道我错过了什么
答案 0 :(得分: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>