MovableType.netでモジュールを利用してテンプレート別に出す情報を変える方法
別の言い方をすると、Movabletype.netで条件分岐を使って情報を出し分けする方法です。
色んなブログを見ても理解できなかったのでメモ。
やりたいこと
テンプレート・モジュールを使って、インデックス・テンプレートでA.htmlとB.htmlで一部だけ出す情報を変えたい
やり方
A.html (インデックス・テンプレート)
<mt:SetVar name="a-info" value="1" /> // name はテンプレート・モジュールで指定する任意の名前
<$mt:Include module="info"$> // module はテンプレート・モジュールの名前
B.html (インデックス・テンプレート)
<mt:SetVar name="b-info" value="1" /> // name はテンプレート・モジュールで指定する任意の名前
<$mt:Include module="info"$> // module はテンプレート・モジュールの名前
info (テンプレート・モジュール)
<mt:If name="a-info">
A.htmlに出したい情報
<mt:ElseIf name="b-info">
B.htmlに出したい情報
<mt:Else>
A・Bどちらでもない場合
</mt:If>
インデックス・テンプレート側に mt:SetVar と mt:Include を両方記述しなきゃいけないんだけどそれが分からなくてずっと悩んでた。
参考サイト
mt:SetVarBlock と mt:If が同じテンプレート内に書かれていて混乱した。いまだにこの使い方は分かってない。
この記事を3回くらい読んで何度もトライしてようやく理解できた。
理解してから見るとここに書かれていることがやりたかったことに近い。