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

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

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

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

  3. 第三种就是最常见的情况了,也就是随便查一下手册都有说明的,即类似 这样的情况,变量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>

你可能感兴趣的:(学习笔记)