MTElse
MTElseテンプレートタグは、基本的にはMTIfテンプレートタグと対で用います。MTIfで条件分岐を満たさなかった場合の実行コードを記述するためのものです。
基本サンプルコード
以下のサンプルコードでは、Number変数へ3という値を代入し、MTIfで「もし、Number変数が5であったら」という条件分岐を行っています。eqモデファイアは、「指定した値が変数と同じであれば」という分岐を行うので、MTIfブロック内のMTGetVarは実行されず、MTElseブロック内のMTGetVarにてNumber変数の値、つまり3が出力されます(※Number変数の値は、5でなければすべてMTElse側で出力されます)。
また、MTIf中のMTElseタグは、閉じるタグは必要ないです。
<MTSetVar name="Number" value="3">
<MTIf name="Number" eq="5">
<MTGetVar name="Number">は5です。
<MTElse>
<MTGetVar name="Number">は5ではありません。
</MTIf>
Movable Type 4.1以降では拡張された
Movable Type 4.1以降では、MTElseテンプレートタグは、nameモデファイアと条件分岐モデファイアを付加して記述できるように拡張されています。これにより、「MTIfを満たさなければ」という2択の条件分岐よりも多くの、1対多の分岐処理を行えるようになりました。
拡張されたサンプルコード
以下のサンプルコードでは、Number変数へ4という値を代入し、MTIfで「もし、Number変数が5であったら」という条件分岐を行っています。次のMTElseでは「もし、Number変数が7であったら」という判断もあわせて行っています。このサンプルの場合は、Number変数の値は4であるので、それらはすべて通過し、一番最後のMTElseで出力されます)。
<MTSetVar name="Number" value="4">
<MTIf name="Number" eq="5">
<MTGetVar name="Number">は5です。
<MTElse name="Number" eq="7">
<MTGetVar name="Number">は7です。
<MTElse>
<MTGetVar name="Number">は5と7以外の数です。
</MTIf>
- カテゴリ:If系