Movable Typeの変数と条件分岐を使ってみる

Movable Typeの変数と条件分岐を使ってみます。

サンプルコード

タグリファレンスを見ながらいくつか試してみました。

HTML

<!-- 変数の設定と呼び出し -->
<$mt:SetVar name="key_sample" value="val_sample"$>
<$mt:Var name="key_sample"$>


<!-- 変数をまとめて設定 -->
<mt:SetVars>
chara_name=アクア
chara_jpb=アークプリースト
chara_skill=花鳥風月
</mt:SetVars>

<dl>
<dt>名前:</dt>
<dd><$mt:Var name="chara_name"$></dd>
<dt>職業:</dt>
<dd><$mt:Var name="chara_jpb"$></dd>
<dt>スキル:</dt>
<dd><$mt:Var name="chara_skill"$></dd>
</dl>


<!-- ブロック内の値を変数として設定 -->
<mt:SetVarBlock name="chara_block">
<$mt:Var name="chara_name"$>・<$mt:Var name="chara_jpb"$>・<$mt:Var name="chara_skill"$>
</mt:SetVarBlock>

<div>SetVarBlockのテスト:<$mt:Var name="chara_block"$></div>


<!-- ブロック内の値を変数として設定 -->
<mt:SetVarTemplate name="chara_block2">
<$mt:Var name="chara_name"$>・<$mt:Var name="chara_jpb"$>・<$mt:Var name="chara_skill"$>
</mt:SetVarTemplate>

<!-- 変数設定後に書き換え -->
<$mt:SetVar name="chara_name" value="めぐみん"$>
<$mt:SetVar name="chara_jpb" value="アークウィザード"$>
<$mt:SetVar name="chara_skill" value="爆裂魔法"$>

<div>SetVarTemplateのテスト:<$mt:Var name="chara_block2"$></div>


<!-- 変数と値をハッシュ(配列)としてまとめて設定 -->
<mt:SetHashVar name="party">
<$mt:SetVar name="chara01" value="カズマ"$>
<$mt:SetVar name="chara02" value="アクア"$>
<$mt:SetVar name="chara03" value="めぐみん"$>
<$mt:SetVar name="chara04" value="ダクネス"$>
</mt:SetHashVar>

<div>partyのchara04:<$mt:Var name="party{chara04}"$></div>

<ul>
<mt:Loop name="party" sort_by="key">
<li><$mt:Var name="__key__"$>: <$mt:Var name="__value__"$></li>
</mt:Loop>
</ul>


<!-- 条件を満たす場合のみ実行 -->
<mt:If name="party{chara01}" eq="アクア">
<p>女神です。</p>
<mt:ElseIf eq="めぐみん">
<p>ロリっ子です。</p>
<mt:ElseIf eq="ダクネス">
<p>変態です。</p>
<mt:Else>
<p>冒険者です。</p>
</mt:If>


<!-- 条件を満たさない場合のみ実行 -->
<mt:Unless name="party{chara01}" eq="カズマ">
<p>カズマ以外のだれかです。</p>
<mt:Else>
<p>カズマです。</p>
</mt:Unless>

以下のような表示結果になりました。

started-with-variables-and-conditional-branch-of-movable-type01

<$mt:SetVar name="key” value=”val“$> 変数keyを定義してvalを設定。
変数名にハイフンは使用しないほうがよい。
<$mt:Var name="key“$> 変数keyの値を呼び出す。
<mt:SetVars>~</mt:SetVars> 変数の名前と値をまとめて設定。
「変数名=値」のフォーマットで設定。
<mt:SetVarBlock name=”key“>~</mt:SetVarBlock> ブロック内の値を変数keyとして設定。
ブロック内のテンプレート部分は出力されて値になる。
<mt:SetVarTemplate name=”key“>~</mt:SetVarTemplate> ブロック内の値を変数keyとして設定。
ブロック内のテンプレート部分は出力されないで値になる。
<mt:SetHashVar name=”key“>~</mt:SetHashVar> 変数名と値のセットをハッシュ変数(配列)keyとして設定。
<mt:Loop name=”key“>~</mt:Loop> 指定したkey(ハッシュ変数)の内容に応じて繰り返し処理。
<mt:If name=”key” eq=”val“>~</mt:If> keyに条件の対象となる変数名を入れて、条件を満たした場合に実行。
tag:テンプレートタグを指定して、出力された値と比較。
like:likeで指定した値が含まれている場合に実行。
eq:eqで指定した値と一致する場合に実行。
ne:neで指定した値と一致しない場合に実行。
lt:ltで指定した値よりも小さい場合に実行。
gt:gtで指定した値よりも大きい場合に実行。
le:leで指定した値以下の場合に実行。
ge:geで指定した値以上の場合に実行。
<mt:ElseIf> 条件に合致しなかったときに、さらに条件式を追加。
<mt:Else> 指定した条件に合致しなかいときに実行。
<mt:Unless name=”key“>~</mt:Unless> keyに条件の対象となる変数名を入れて、条件を満たさない場合に実行。

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930