【MovableType】カテゴリーごとに表示する画像を変える方法
情報バリアフリーのサイトで、カテゴリーごとに左上部の画像とコンテンツエリア上部の画像を変えて表示しています。
↓赤で囲った部分の画像です。
使用するMTタグは
MTIfIsDescendant
です。
「現在のカテゴリーが、指定したカテゴリーのサブカテゴリーにあたるか判定する条件タグです。アトリビュートparentでカテゴリーを指定します。」(テンプレート・タグ リファレンスより )
というタグなんですが、サブカテゴリーだけでなく自分自身も「真」になるようです。
例えば、カテゴリー「お知らせ」にinfomation.gifを表示したい時には
<MTIfIsDescendant parent="お知らせ">
<img src="infomation.gif" alt="<$MTCategoryLabel$>" />
</MTIfIsDescendant>
このようにすればいいのです。
サブカテゴリーにも有効なので、お知らせに「9月のニュース」 というサブカテゴリーを作った場合、何もしなくてもinfomation.gifが表示されます。
複数のカテゴリーを操作したい場合はMTElseタグを使用します。
<MTIfIsDescendant parent="お知らせ">
<img src="infomation.gif" alt="<$MTCategoryLabel$>" />
<MTElse>
<MTIfIsDescendant parent="ウェブ品質管理ソリューション">
<img src="validator.gif" alt="<$MTCategoryLabel$>" />
</MTIfIsDescendant>
</MTElse>
</MTIfIsDescendant>
新たにトップレベルカテゴリーを作成した場合、この記述も同時に直さなければ何も画像が表示されない状態になってしまいます。
対策としては下記の太字の部分を追加しておけば、とりあえずdummy.gifが表示されるようので安心です。
<MTIfIsDescendant parent="お知らせ">
<img src="infomation.gif" alt="<$MTCategoryLabel$>" />
<MTElse>
<MTIfIsDescendant parent="ウェブ品質管理ソリューション">
<img src="validator.gif" alt="<$MTCategoryLabel$>" />
<MTElse>
<img src="dummy.gif" alt="<$MTCategoryLabel$>" />
</MTElse>
</MTIfIsDescendant>
</MTElse>
</MTIfIsDescendant>
カテゴリーごとに画像を変える必要があれば試してみてください。
