MTIf
条件文の対象となる MTSetVar ファンクションタグに設定した変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数を利用して条件文を作成します。MTIf ブロックタグは条件を満たした場合にのみ実行します。MTUnless は MTIf の逆で条件を満たさない場合にのみ実行します。
MTIf ブロックの中で MTUnless の結果と同じ結果を得たい場合は MTElse ブロックタグと組み合わせることで、条件を満たさない場合の実行内容も設定できます。
使い方
<$MTSetVar name="love" value="polar bear"$> <MTIf name="love" eq="elephant"> <p>私はゾウを愛しています</p> <MTElseIf eq="polar bear"> <p>私はゾウより、シロクマを愛しています</p> <MTElse> <p>私はゾウもシロクマも愛していないのです</p> </MTIf> <MTIf name="love"> name (もしくは tag) のみを指定した場合、値があるかないかを判断できます。 </MTIf>
モディファイア
- name="foo"
-
条件文の対象となる MTSetVar ファンクションタグに設定した name モディファイアの値を設定します。このモディファイアで指定された変数の値で条件分岐を行います。このモディファイアか tag のどちらかが必須です。
- tag="tagName"
-
指定したMTタグの出力値をもとに条件分岐を行います。このモディファイアか name のどちらかが必須です。
tag を指定した場合、MTIf タグに指定したモディファイアが tag に指定した MT タグに対して適用されます。例えば下記の format は MTDate に対して機能します。 (頭の MT は省略できます)
<MTIf tag="Date" format="%Y">
さらに条件を細かく設定できます。何も指定しない場合は、MTSetVar ファンクションタグに value モディファイアが設定されていて、その値が 0 ではない場合にのみ実行します。
- like="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数に foo が含まれる場合にのみ実行します。
<MTSetVar name="elephant" value="love"> <MTIf name="elephant" like="ov"> <p>変数 elephant の値に ov が含まれるので、この段落は表示されます。</p> </MTIf>
また like モディファイアでは perl 正規表現を利用できます。例は MTSetVar ファンクションタグの変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が bar か baz で始まる場合にのみ実行します。
<MTSetVar name="elephant" value="barcamp"> <MTIf name="elephant" like="^(bar|baz)"> <p>変数 elephant の値が bar もしくは baz で始まるので、この段落は表示されます。</p> </MTIf>
- eq="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo と一致する場合にのみ実行します。
<MTSetVar name="elephant" value="love"> <MTIf name="elephant" eq="love"> <p>変数 elephant の値が love と一致するので、この段落は表示されます。</p> </MTIf>
- ne="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo と一致しない場合にのみ実行します。
<MTSetVar name="elephant" value="love"> <MTIf name="elephant" ne="like"> <p>変数 elephant の値が like と一致しないので、この段落は表示されます。</p> </MTIf>
- lt="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo よりも小さい場合にのみ実行します。
<MTSetVar name="age" value="28"> <MTIf name="age" lt="30"> <p>値が age の name モディファイアを持つ MTSetVar ファンクションタグの変数が 30 より小さいので、この段落は表示されます。</p> </MTIf>
- gt="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo よりも大きい場合にのみ実行します。
<MTSetVar name="age" value="28"> <MTIf name="age" gt="26"> <p>値が age の name モディファイアを持つ MTSetVar ファンクションタグの変数が 26 より大きいので、この段落は表示されます。</p> </MTIf>
- le="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo 以下の場合にのみ実行します。
<MTSetVar name="age" value="28"> <MTIf name="age" le="100"> <p>値が age の name モディファイアを持つ MTSetVar ファンクションタグの変数が 100 以下なので、この段落は表示されます。</p> </MTIf>
- ge="foo"
-
MTSetVar ファンクションタグに設定された変数、または MTSetVarBlock, MTSetVarTemplate ブロックタグの変数が foo 以上の場合にのみ実行します。
<MTSetVar name="age" value="28"> <MTIf name="age" ge="28"> <p>値が age の name モディファイアを持つ MTSetVar ファンクションタグの変数が 28 以上なので、この段落は表示されます。</p> </MTIf>
- op="演算子"
-
演算子を指定することで値に対して四則計算が可能です。詳細はテンプレートタグで利用できる演算関数を参照してください。
- index
-
配列のインデックス (添え字) を指定して、配列の変数から値を取り出します。
<MTIf name="foo" index="0" eq="hoge">
このMTタグは、以下のようにも書くことができます。
<MTIf name="foo[0]" eq="hoge">
名前[添え字]
という記述がindex
モディファイアの代わりです。 - key
-
ハッシュのキーを指定して、ハッシュの変数から値を取り出します。
<MTIf name="bar" key="a" eq="hoge">
このMTタグは、以下のようにも書くことができます。
<MTIf name="bar{a}" eq="hoge">
名前{キー}
という記述がkey
モディファイアの代わりです。 - test
-
Perl の式を記述することができ、結果を利用して条件分岐を行います。
MTIf と関連のあるテンプレートタグ (70)
- MTAssetIfTagged
- MTAuthorHasEntry
- MTAuthorHasPage
- MTBlogIfCCLicense
- MTBlogIfCommentsOpen
- MTCalendarIfBlank
- MTCalendarIfEntries
- MTCalendarIfNoEntries
- MTCalendarIfToday
- MTCategoryIfAllowPings
- MTCommenterIfTrusted
- MTCommentIfModerated
- MTElse
- MTElseIf
- MTEntryIfAllowComments
- MTEntryIfAllowPings
- MTEntryIfCategory
- MTEntryIfCommentsOpen
- MTEntryIfExtended
- MTEntryIfTagged
- MTHasNoParentCategory
- MTHasNoSubCategories
- MTHasParentCategory
- MTHasParentFolder
- MTHasSubCategories
- MTHasSubFolders
- MTIf
- MTIfAllowCommentHTML
- MTIfAnonymousRecommendAllowed
- MTIfArchiveType
- MTIfArchiveTypeEnabled
- MTIfBlogDynamicMTML
- MTIfCategory
- MTIfCommenterIsAuthor
- MTIfCommenterIsEntryAuthor
- MTIfCommenterTrusted
- MTIfCommentParent
- MTIfCommentReplies
- MTIfCommentsAccepted
- MTIfCommentsActive
- MTIfCommentsAllowed
- MTIfCommentsModerated
- MTIfDynamic
- MTIfEntryRecommended
- MTIfFolder
- MTIfIsAncestor
- MTIfIsDescendant
- MTIfLoggedIn
- MTIfMaxResultsCutoff
- MTIfNeedEmail
- MTIfNonEmpty
- MTIfNonZero
- MTIfPingsAccepted
- MTIfPingsActive
- MTIfPingsAllowed
- MTIfPingsModerated
- MTIfRegistrationAllowed
- MTIfRegistrationNotRequired
- MTIfRegistrationRequired
- MTIfRequireCommentEmails
- MTIfStatic
- MTIfStraightSearch
- MTIfTagSearch
- MTIfTypeKeyToken
- MTMultiBlogIfLocalBlog
- MTPageIfTagged
- MTSubCatIsFirst
- MTSubCatIsLast
- MTUnless
- MTWebsiteHasBlog