ThinkPHP模板IF標籤eq和三元表示式用法
阿新 • • 發佈:2018-11-28
在微信小程式後端中用到了 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?'正常':'錯誤'}