MTElseIf タグを利用した条件分岐
Movable Type 4.1 Beta3 より、新たに MTElseIf
ブロックタグが追加され、拡張された MTElse タグを利用した複雑な条件分岐 で紹介した複雑な条件分岐がより簡単に行えるようになりました。
実際に MTElseIf
ブロックタグの働きを見てみましょう。
<MTIf name="userpic_type" eq="author"> <!-- 変数 userpic_type に設定した値が author の場合に処理するテンプレート --> <MTElse name="userpic_type" eq="commenter"> <!-- 変数 userpic_type に設定した値が author ではないが commenter の場合に処理するテンプレート --> <MTElse> <!-- 変数 userpic_type に設定した値が author でも commenter でもない場合に処理するテンプレート --> </MTIf>
このような条件分岐のテンプレートを MTELseIf ブロックタグを使用して書き直すと以下のようになります。
<MTIf name="userpic_type" eq="author"> <!-- 変数 userpic_type に設定した値が author の場合に処理するテンプレート --> <MTElseIf eq="commenter"> <!-- 変数 userpic_type に設定した値が author ではないが commenter の場合に処理するテンプレート --> <MTElse> <!-- 変数 userpic_type に設定した値が author でも commenter でもない場合に処理するテンプレート --> </MTIf>
違いは、条件を判断する対象の変数が同じ場合、MTELseIf
ブロックタグを使用すると name
モディファイアを省略できるところにあります。また、テンプレートとしても、MTELseIf
となっていたほうが、読みやすくなっています。もちろん name
モディファイアも使用できますので、変数 userpic_type に設定された値は author ではないけれど、(name モディファイアで設定された) 別の変数に設定された値は hoge だ。というような複雑な条件分岐も可能です。
- 前の記事: テンプレートセットを登録するプラグイン
- 次の記事: Movable Type 4.1 の新機能