PowerCMS™

MTElseIf

MTElseIf

MTIf ブロックタグで設定した条件式の値が false (偽) の場合に実行したい内容を囲むブロックタグ MTElse にさらに条件式を追加できるブロックタグです。MTIf ブロックタグと同じ変数を参照する場合は、name モディファイアの指定を省略することができます。

使い方

<MTIf name="userpic_type" eq="author">
    <!-- 変数 userpic_type に設定した値が author の場合に処理するテンプレート -->
<MTElseIf eq="commenter">
    <!-- 変数 userpic_type に設定した値が author ではないが commenter の場合に処理するテンプレート -->
<MTElse>
    <!-- 変数 userpic_type に設定した値が author でも commenter でもない場合に処理するテンプレート -->
</MTIf>

モディファイア

name="foo"

条件文の対象となる変数の名前 (MTSetVar ファンクションタグなどで設定した name モディファイアの値) を設定します。このモディファイアの値でどの値で条件分岐を行うかを決定します。

さらに条件を細かく設定できます。何も指定しない場合は、MTSetVar ファンクションタグに value モディファイアが設定されていて、その値が 0 ではない場合にのみ実行します。

like="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数に foo が含まれる場合にのみ実行します。

like モディファイアでは perl 正規表現を利用できます。

eq="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo と一致する場合にのみ実行します。

ne="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo と一致しない場合にのみ実行します。

lt="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo よりも小さい場合にのみ実行します。

gt="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo よりも大きい場合にのみ実行します。

le="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo 以下の場合にのみ実行します。

ge="foo"

MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo 以上の場合にのみ実行します。

tag="TagName"

指定したタグに値がある場合は true (真)。無い場合は false (偽) を返します。

op
index

配列のインデックス (添え字) を指定して、配列の変数から値を取り出します。

<MTElseIf name="foo" index="0" eq="hoge">

このMTタグは、以下のようにも書くことができます。

<MTElseIf name="foo[0]" eq="hoge">

名前[添え字] という記述が index モディファイアの代わりです。

key

ハッシュのキーを指定して、ハッシュの変数から値を取り出します。

<MTElseIf name="bar" key="a" eq="hoge">

このMTタグは、以下のようにも書くことができます。

<MTElseIf name="bar{a}" eq="hoge">

名前{キー} という記述が key モディファイアの代わりです。

test

Perl の式を記述することができ、結果を利用して条件分岐を行います。