thinkphp模板变量输出的几种情况及注意点

来源:互联网 发布:天津广播电视网络招聘 编辑:程序博客网 时间:2024/05/21 17:13

其实在thinkphp中模板变量输出是有几种不同的情况的,刚开始接触thinkphp的时候不是很了解,现在来稍微总结一下。

  1. 第一种将某个标签的name属性作为变量,这个时候在模板中这个变量的写法是像name='news'这样的 ,直接写变量名news,不加定界符,前面也不加$。

  2. 第二种是在类似<if>这样的判断标签里的condition条件中书写的时候,<if condition="$vo['webImg'] neq ''">变量vo就要写成$vo,也就是变量名前面要加上一个$符号。这种写法和php语法一致,但当初在这里踩了坑,因为一直习惯了thinkphp的模板变量输出语法是要加定界符的,但其实不是所有情况都是这样。另外,这里有一点要注意的是,对数组变量最好用形如$vo['webImg']
    的方式引用,而不是像$vo.webImg 这样引用对象的属性方式来引用,因为有时这种引用方式会失效,例如<if condition="$vo.id eq $type.id"> ,在这里,第一个$vo.id 的引用没有问题,而第二个$type.id 则会有问题。要改成$type['id'] 方才有效。

  3. 第三种就是最常见的情况了,也就是随便查一下手册都有说明的,即类似<img src="{daaxun$vo.webImg}"> 这样的情况,变量vo前面需要加上一个$符号,然后外面还要用定界符包起来。这里左定界符是自定义的{daaxun ,右定界符是自定义的}
<volist name='news' id='vo'>                        <div class="xwzxdiv">                            <if condition="$vo['webImg'] neq ''">                                <div>                                    <a href="newscont_{daaxun$vo.id}.html"><img src="{daaxun$vo.webImg}"></a>                                </div></if>                            <div class="xwzxtxt">                                <dl>                                    <dt><h3 title="{daaxun$vo.theme}"><a href="newscont_{daaxun$vo.id}.html">{daaxun$vo.theme}</a></h3></dt>                                    <dd class="preview"><p>{daaxun$vo.summary}</p></dd>                                    <dd class="info">发表于:<span>{daaxun$vo.revTime}</span><a href="newscont_{daaxun$vo.id}.html">【查阅全文】</a></dd>                                </dl>                            </div>                        </div>                    </volist>
原创粉丝点击