其实在thinkphp中模板变量输出是有几种不同的情况的,刚开始接触thinkphp的时候不是很了解,现在来稍微总结一下。
第一种将某个标签的name属性作为变量,这个时候在模板中这个变量的写法是像
name='news'
这样的 ,直接写变量名news,不加定界符,前面也不加$。第二种是在类似
<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']
方才有效。- 第三种就是最常见的情况了,也就是随便查一下手册都有说明的,即类似
<img src="{daaxun$vo.webImg}"