Movable Type 備忘録

 ブログの表示を条件で変える

今日のカスタマイズはすごいですよ!! 今までで1番かゆいとこに手が届いたってかんじです。

MovableType(ムーバブルタイプ)に限ったことではありませんが、わたしはよくブログを作っていて、このエントリの背景は別にしたいとか、このカテゴリでは、レイアウトを変えたいとか…いろいろ無理なことを考えていたのですが、MovableType(ムーバブルタイプ)ではそれが可能なんです。

例えば、カテゴリ毎に背景を替えたり、エントリ毎にバナーを張り替えたりすることも可能なんです。

ブログはみなさんご存知の通り、共通なテンプレートを使用することで、本文のみ差し替わって表示されますよね。
だから、ページのイメージはすべていっしょになってしまいます。

SSIを使用すればできなくはないのですが、SSIだと動的な変更ができないんです。
どういうことかというと、仮にカテゴリID毎にページに変化を持たせたい…とした場合、カテゴリIDにあったHTMLをインクルード( HTMLにHTMLを組み込む )できないんです。

<!--#include virtual="category.html" -->

上記のコードは、一般的なHTMLにSSIを組み込むためのコードですが、下記のコードのようなカテゴリIDによって、組み込むHTMLを変えるみたいな使い方ができません。

 <!--#include virtual="/category<$MTCategoryID$>.html"-->

たぶん、コメントとして認識されてしまうから、<$MTCategoryID$> タグは変換されないんでしょうね。

ざっとですが、わたしがやりたいことはそんなかんじのことです。
では、本題に入ります。

カスタマイズ方法

MovableType(ムーバブルタイプ)でページに動的な( 条件による )変化を持たすには、MTSwitchプラグインを使用します。
このプラグインは、ある特定の条件によって分岐させたい場合に使います。
先程の例のように、カテゴリIDによってバナー広告を替えるとか、サイドバーの内容を替えるなどです。

▼MTSwitchプラグインの入手はこちらから▼
http://virtuelvis.com/archives/2003/03/mtswitch

以下に、カテゴリ名による条件分岐をさせたい場合の構文を記します。

<MTSwitch value="[MTCategoryLabel]">
<MTSwCase value="Aカテゴリ名">
Aカテゴリ用のコードを書く
</MTSwCase>
<MTSwCase value="Bカテゴリ名">
Bカテゴリ用のコードを書く
</MTSwCase>
<MTSwDefault>
それ以外のカテゴリ用のコードを書く
</MTSwDefault>
</MTSwitch>

上記例の1行目 <MTSwitch value="[MTCategoryLabel]"> の value= に対して条件を設定しています。
ここにはMovableType(ムーバブルタイプ)のすべての変数タグを指定できます。

上記例の2、6行目 <MTSwCase value="Bカテゴリ名"> の value= で条件に対する値を設定して、その値と合致したら以下のコードを使用する…という意味になります。

上記例の10行目 <MTSwDefault> には、すべての条件に合致しなかった場合のコードを入れます。

カンタンでしょ (●´∀`●)

<MTSwCase value="Aカテゴリ名">
Aカテゴリ用のコードを書く
</MTSwCase>

上記の部分を増やすことで、条件分岐を増やすことができます。
この条件タグを使えばバリエーションが増えますよねぇ。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード