在微信小程序后端中用到了 IF标签eq和三元表达式,下面记录一下
<ul class="nav nav-tabs">
<li class="{if condition="input('tab',1) eq 1"}active{/if}"><a data-toggle="tab" href="#tab-1" aria-expanded="true">广告列表</a></li><li class="{if condition="input('tab',1) eq 2"}active{/if}"><a data-toggle="tab" href="#tab-2" aria-expanded="false">添加新广告</a></li>
<li id="showtab" class="{if condition="input('tab',1) eq 3"}active{/if}"><a data-toggle="tab" href="#tab-3" style="{if condition="input('tab',1) neq 3"}display:none{/if}" aria-expanded="false">编辑广告</a></li>
</ul>
ThinkPHP的IF标签可以用来定义复杂的条件判断,例如:
1
2
3
4
|
<
if
condition=
"($name eq 1) OR ($name gt 100) "
> value1
<
elseif
condition=
"$name eq 2"
/>value2
<
else
/> value3
</
if
>
|
注意:在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有”>”、”<”等符号的用法,因为会混淆模板解析,所以下面的用法是错误的:
1
2
3
|
<
if
condition=
"$id < 5 "
> value1
<
else
/> value2
</
if
>
|
必须改成:
1
2
3
|
<
if
condition=
"$id lt 5 "
> value1
<
else
/> value2
</
if
>
|
eq标签
eq有两个三元表达式
一个是模板标签 <eq name="变量名(不用$符)" value="和变量对比的值">符合条件后显示的内容</eq>
一个是eq 相等的意思 就是 = 号 <if condition="$a eq 2">如果$a=2这里会显示</if>
{$status?'正常':'错误'}
{$info['status']?$info['msg']:$info['error']}
{$status?'正常':'错误'}