Movable Type 備忘録
ブログの表示を条件で変える
- Prev Page: MovableTypeの各ファイルをバックアップする
- Next Page: MovableTypeのプレビューを強化する
今日のカスタマイズはすごいですよ!! 今までで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