【问题标题】:PHP Smarty Insert functions and variablesPHP Smarty 插入函数和变量
【发布时间】:2012-12-19 17:09:13
【问题描述】:

我有这个 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。

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

【问题讨论】:

    标签: php smarty


    【解决方案1】:

    数组在 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>
    

    【讨论】:

    • 谢谢,最后,我不得不重写那个函数,当我调用 {insert name=gfs assign=afs a=$fd.x}
    猜你喜欢
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多