PHP Smarty插入函数和变量

时间:2012-12-19 17:09:14

标签: 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),所有值都显示为null。

任何帮助都会很棒,我不知道我错过了什么

1 个答案:

答案 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>