tech blog

« 弊社ホームページをリニューアルしました | メイン | 【MovableType】テンプレートを修正する「alt-tmpl」 »

Sep
13

【MovableType】カテゴリーごとに表示する画像を変える方法

情報バリアフリーのサイトで、カテゴリーごとに左上部の画像とコンテンツエリア上部の画像を変えて表示しています。

↓赤で囲った部分の画像です。
サンプル画面

このような場合のMTタグの書き方を説明します。

使用する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>

カテゴリーごとに画像を変える必要があれば試してみてください。

trackback

このエントリーのトラックバックURL:
http://www.infocreate.co.jp/nxt/blog/MT/mt-tb.cgi/103

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Powered by Movable Type