テンプレートタグで利用できる演算関数
op
モディファイアを利用して、テンプレートタグで四則計算が可能です。これにより、さまざまな計算やプログラミングロジックをテンプレートタグだけで実現できます。
op
モディファイアは MTSetVar
, MTSetVarBlock
, MTGetVar
, MTVar
, MTIf
で利用可能です。設定値には、単純な計算を行う関数の名前を指定します。
演算関数
add
または+
: 加算sub
または-
: 減算mul
または*
: 乗算div
または/
: 除算mod
または%
: 剰余inc
または++
: インクリメントdec
または--
: デクリメント
op モディファイアの使用と動作
op モディファイアを使用する場合は、name モディファイアと value モディファイアをセットで設定します。
また、op モディファイアに inc(++) または dec(--) を指定した場合、value モディファイアは一緒に設定しても無視されます。
テンプレートタグ | モディファイアの記述例 | 動作 |
---|---|---|
MTSetVar, MTSetVarBlock | name="foo" value="3" op="+" | 変数 foo に対して、op モディファイアを value モディファイアとともに処理し、演算結果を変数 foo に格納します。 変数 foo が未定義の場合、op モディファイアは無視され、value モディファイアの値が変数に格納されます。 |
MTGetVar | name="foo" value="3" op="+" | 変数 foo に対して、op モディファイアを value モディファイアとともに処理します。 演算結果は変数 foo に格納されません。 変数の値を変えずに演算結果を出力する場合に使用します。 |
MTVar | name="foo" value="3" op="+" | MTGetVar と同じ動作をします。 ※ op を指定せず、name と value のみの場合は MTSetVar と同じ動作をします。 |
MTIf | name="foo" value="3" op="+" eq="7" | 変数 foo に対して、op モディファイアを value モディファイアとともに処理します。 演算結果は変数 foo に格納されません。 変数の値を変えずに演算結果で条件判別する場合に使用します。 |