一、比較標籤
| 標籤 | 別名 | 含義 |
| eq | equal | 等於 |
| neq | notequal | 不等於 |
| gt | - | 大於 |
| egt | - | 大於等於 |
| lt | - | 小於 |
| elt | - | 小於等於 |
| heq | - | 恆等於 (===) |
| nheq | - | 不恆等於 (!==) |
<if condition="$status eq 1">正常<else/>異常</if>
二、範圍判斷標籤
in / notin
<in name='n' value='9,10,11,12'>在範圍內<else/>不在範圍內</in>
<notin name='n' value='9,10,11,12'>不在範圍內<else/>在範圍內</notin>
between / notbetween
<between name='n' value='1,10'>{$n} 在 1-10 之間<else/>不在範圍內</between>
<notbetween name='n' value='1,10'>不在範圍內<else/>在範圍內</notbetween>
三、變數狀態判斷
| 標籤 | 用途 | 範例 |
| present | 判斷變數是否已賦值 | <present name='m'>有值<else/>無值</present> |
| empty | 判斷變數是否為空 | <empty name='n'>空值<else/>有值</empty> |
| defined | 判斷常數是否定義 | <defined name='CONST'>已定義</defined> |
四、模板中定義與賦值
<!-- 定義常數 -->
<define name='PAGE_SIZE' value='20' />
<!-- 變數賦值 -->
<assign name='total' value='100' />
<assign name='pages' value='$total / PAGE_SIZE' />
五、其他特殊用法
1. 模板內嵌 PHP 程式碼
<php> echo "這裡可以寫 PHP 程式碼"; </php>
2. 修改模板定界符(避免與 JS 框架衝突)
'TMPL_L_DELIM' => '<{', // 左定界符
'TMPL_R_DELIM' => '}>', // 右定界符
修改後模板寫法:<{ $name }>、<{if condition="$a eq 1"}>...<{/if}>
實務建議
- 優先使用標籤語法,保持模板純粹、前端友善
- 複雜邏輯移至控制器或視圖模型處理
- 定界符修改需全專案一致,建議專案初期即決定