Movable Type 備忘録

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

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

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

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

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

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

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

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

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

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

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

カスタマイズ方法

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

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

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

  1. <MTSwitch value="[MTCategoryLabel]">
  2.   <MTSwCase value="Aカテゴリ名">
  3.     Aカテゴリ用のコードを書く
  4.   </MTSwCase>
  5.  
  6.   <MTSwCase value="Bカテゴリ名">
  7.     Bカテゴリ用のコードを書く
  8.   </MTSwCase>
  9.  
  10.   <MTSwDefault>
  11.     それ以外のカテゴリ用のコードを書く
  12.   </MTSwDefault>
  13. </MTSwitch>

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

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

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

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

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

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

 Trackback Pings(1)

from Project MultiBurst

1ヶ月くらいまえから、del.icio.usのソーシャルブックマークをこのブログにエントリーするようにしたのですが、メインページでブックマークが並んでいる...

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード