MTでカテゴリごとに表示を変える条件分岐方法

2012年7月 6日 23:14 

  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • Yahoo!ブックマークに登録

Movable Type(以下MT)をCMSとして利用しでホームページを構築する際、やりたくなるのが「カテゴリごとの表示変更」。

カテゴリごとにインデックステンプレートを作ってしまうのも一つの手ですが、この部分だけ変えたい!という時にもっと簡単な方法があります。

使用するのはMTの MTIfCategory タグです。

<MTIfCategory name="カテゴリA">
①カテゴリAの時に表示したいもの
<MTElse>
<MTIfCategory name="カテゴリB">
②カテゴリBの時に表示したいもの
<MTElse>
③カテゴリAでもBでもない時に表示したいもの
</MTIfCategory>
</MTIfCategory>

というように、<MTIfCategory name="カテゴリ名">○○○</MTIfCategory>で該当するカテゴリであれば、○○○を表示し、異なるカテゴリの場合は<MTElse>によって次の判断に切り替えていきます。最初に書いたものから順に判断していくので、上のソースではカテゴリAなら①を。違う場合はカテゴリBなら②を。カテゴリBでもなければ③を表示するという流れになります。

3.gif


この方法の良いところは、カテゴリを増やした時でもあらかじめ表示するものを用意しておける点です。
③にカテゴリAでもBでもない時に表示したいものを記述しておく事で、急にカテゴリが増えた際でも「何も表示されない状態」を回避することができます。
これならクライアントさん側で更新を行っているような場合でも、あらかじめ増えるカテゴリが分かっていれば先に処理だけ用意しておくことが可能です。

あまりにも長いソースを切り替える場合は冗長になってしまうかもしれませんが、これを使えばMTでもかなり細かな仕様を組む事が出来ると思うのでぜひやってみてください。

シェアする

  • このエントリーをはてなブックマークに追加
comments powered by Disqus

Twitter

Facebookページ


Clip to Evernote このエントリーをはてなブックマークに追加
Yahoo!ブックマークに登録

月別アーカイブ

  • セーノのtwitter
  • セーノのfacebookページ
  • セーノのmixiページ
  • セーノのwordpressブログ
  • セーノのgoogle plusページ