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>
以下のような表示結果になりました。

| <$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に条件の対象となる変数名を入れて、条件を満たさない場合に実行。 |
【参考サイト】
コメントが承認されるまで時間がかかります。