メニューカスタマイズ以前のエントリーでMTトップレベルカテゴリのみのメニュー表示するテンプレートタグをご紹介しました。この方法でトップレベルのみのメニューを表示した場合、カテゴリーページにおいてもトップレベルのカテゴリのみの表示となります。
サブカテゴリーにて構造を細分化している場合には。カテゴリーページにて、その階層にあるサブカテゴリーを表示する必要があります。そうした場合には、<MTHasSubCategories>タグを使って条件分岐でそのカテゴリに属するサブカテゴリーのメニューを表示するようにします。
<MTHasSubCategories>
現在のカテゴリーにサブカテゴリーが登録されているときだけ実行する条件タグです。
- 対応しているバージョン
- 3.1, 3.2, 3.3, Enterprise 1.0
- 利用方法
- <MTHasSubCategories> 〜 </MTHasSubCategories>
私のサイトには、この<MTHasSubCategories>を使ってサブカテゴリの概要を説明すると同時に、リンクメニューとして表示するようにしています。トップレベルカテゴリページのみに適用されます。サブカテゴリーページには、表示されません。以下自分が使っているコードを紹介します。
トップレベルカテゴリページにて、サブカテゴリのメニュー表示
CSSコードは以下の通りになります。指定を変えることで縦並びから横並びにも変更可能です。
サブカテゴリリストのタイトル部分もspan要素で<$MTCategoryBasename$>指定しておくことで、カテゴリー別に色分け表示できるようにもできます。
応用
多分上記のコードにエントリータグを組み込むことでサブカテゴリーのエントリーの一覧も一緒に表示されると思います。試していませんが、以前紹介したサイトマップのようにMTで自動的に階層式サイトマップを構築するのエントリーで紹介しているように
上記のコードを追加することで各サブカテゴリーのエントリーの一覧も表示することが可能であると思います。 試してみたい方は、参考にしてみてください。MTで自動的に階層式サイトマップを構築する
Amazonと同じようなメニューを作る
サブカテゴリのメニューを表示するようにすれば、Amazonと同じようなメニューを作ることができます。今回の私の紹介するコードの中には、<$MTCategoryDescription$>を組み込んで、サブカテゴリーの概要を表示するようにしていますが、抜くことでサブカテゴリだけの表示になります。
Amazonみたいな構造的なカテゴリページでのメニューを表示するのであれば、この<MTHasSubCategories>を使うことで表示可能です。
以前のMTトップレベルカテゴリのみのメニュー表示するテンプレートタグのエントリーとあわせて参考にしてみてください。
サブカテゴリーページに移動した時には、メニュー表示されなくなりますので、サブカテゴリーページでのメニュー表示について次回のエントリーで考えれられる方法を書き出してみます。


はじめまして、
タグについてお聞きしたいのですが、
トップページにカテゴリー一覧を作りたいと思っております。
親カテゴリーごとにBOXで分けて表示をを考えており、このページのソースを使わして頂いただき、サブカテゴリーまでは思うように表示したのですが、孫カテゴリーができると、サブカテゴリーが親カテゴリーとなり、BOXが増えてしまいます。
お手数ですが、何か良い方法があれば教えていただけないでしょうか?
どうか、よろしくお願いいたします。