Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 5 ManualMovable Type 5 マニュアル

テンプレートタグで利用できる演算関数

最終更新日: 2017.10.06

op モディファイアを利用して、テンプレートタグで四則計算が可能です。
これにより、さまざまな計算やプログラミングロジックをテンプレートタグだけで実現できます。

op モディファイアは MTSetVar, MTSetVarBlock, MTGetVar, MTVar, MTIf, MTUnless, MTElse, MTElseIf で利用可能です。(MTSetVarTemplate では、op モディファイアの利用はできません。)
設定値には、単純な計算を行う関数の名前を指定します。

演算関数

  • add または +: 加算
  • sub または -: 減算
  • mul または *: 乗算
  • div または /: 除算
  • mod または %: 剰余
  • inc または ++: インクリメント
  • dec または --: デクリメント

op モディファイアの使用と動作

op モディファイアを使用する場合は、name モディファイアと value モディファイアをセットで設定します。
また、op モディファイアに inc(++) または dec(--) を指定した場合、value モディファイアは一緒に設定しても無視されます。

テンプレートタグごとの op モディファイアの使用例と動作
テンプレートタグ モディファイアの記述例 動作
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, MTElse, MTElseIf, MTUnless name="foo" value="3" op="+" eq="7" 変数 foo に対して、op モディファイアを value モディファイアとともに処理します。
演算結果は変数 foo に格納されません。
変数の値を変えずに演算結果で条件判別する場合に使用します。