前日紹介した「Movable Type の正規表現プラグイン」は、MTタグで得られる結果を正規表現で文字列比較できる非常に強力なプラグインですが、それだけでは実現できない機能があります。それは、MTタグで得られる結果どうしを比較する機能です。
もっと具体的に例を挙げるとすれば、このサイトのナビゲーションバーのように、カテゴリーアーカイブにおいて、今該当するカテゴリーだけを見栄えを変化させたり、個別記事が属するカテゴリーに応じて、ナビゲーションバーの見栄えを変化させたりすることです。
ということで、MT の内部機能的に話すとすれば、<$MTCategoryLabel$> と <$MTArchiveCategory$> を比較したり、<$MTCategoryLabel$> と <$MTEntryCategory$> を比較することを実現するためのプラグインを公開します。
≫スクリプトはこちら(MTIfCategory.pl) 
<動作環境>
MovableTypeをご使用の環境ならどれでも。
<pluginの設置方法>
(1)他のPlugin同様に、MovableTypeのpluginディレクトリへ IfCategory.pl をFTPして下さい。
ファイルの文字コードは変更せず、このまま UP してください。ここポイント!!
以上で、MovableTypeで以下の4つのコンテナ・タグが使用可能になります。
<MTIfCategory コンテナ・タグ>
- <MTIfCat_eq_Arc> 〜 </MTIfCat_eq_Arc>
<$MTCategoryLabel$> と <$MTArchiveCategory$> が一致した場合、タグ範囲内の内容が有効になります。
主に、カテゴリーアーカイブにてナビゲーションバーの見栄えを変更する際に使用します。
- <MTNotIfCat_eq_Arc> 〜 </MTNotIfCat_eq_Arc>
上記のNot判定で使用します。
- <MTIfCat_eq_Ent> 〜 </IfCat_eq_Ent>
<$MTCategoryLabel$> と <$MTEntryCategory$> が一致した場合、タグ範囲内の内容が有効になります。
主に、個別エントリーにてナビゲーションバーの見栄えを変更する際に使用します。
- <MTNotIfCat_eq_Ent> 〜 </MTNotIfCat_eq_Ent>
上記のNot判定で使用します。
<使用例(カテゴリー・アーカイブで各カテゴリ部分だけ強調表示する)>
<MTCategories show_empty="1">
<MTIfCat_eq_Arc><B><$MTCategoryLabel$></B></MTIfCat_eq_Arc>
<MTNotIfCat_eq_Arc><$MTCategoryLabel$></MTNotIfCat_eq_Arc>
</MTCategories>
<使用例(個別エントリーで属するカテゴリ部分だけ強調表示する)>
<MTCategories show_empty="1">
<MTIfCat_eq_Ent><B><$MTCategoryLabel$></B></MTIfCat_eq_Ent>
<MTNotIfCat_eq_Ent><$MTCategoryLabel$></MTNotIfCat_eq_Ent>
</MTCategories>