MTのブログ記事リストに、
サブカテゴリのリストを表示するページがあり、
自動的に出るように、MTのタグを使ってみました。
階層が以下のような時に、
・TOP
・カテゴリ1
・aaaaa
・bbbbb
・ccccc
・ddddd
カテゴリ1にサブカテゴリを表示する場合は、
●サブカテゴリ一覧を表示
<MTSubCategories> <li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li> </MTSubCategories>
こちらで出来ます(当然ですね)
さらにaaaaaを開いている時にも、aaaaa、bbbbb、ccccc、などのカテゴリを表示したい場合は、
・サブカテゴリのページで同じ階層のサブカテゴリを表示する
<MTHasParentCategory> <MTTopLevelCategories> <MTSubCategories> <li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li> </MTSubCategories> </MTTopLevelCategories> </MTHasParentCategory>
こう書くと上手いこと表示されました。
MTだと順番が思うようにできないから残念ですね。
(MT5.1からはある程度融通がきくそうですが・・・)
でこれはブログ記事リストに書いたので、
ひとつのテンプレに書いてます。
実際書いたのは、
以下のようなソースになります。
<!-- サブカテゴリがある場合に実行する --> <MTIf tag="SubCategories"> <ul class="subCategory"> <MTSubCategories sort_order="descend" sort_by="basename"> <li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li> </MTSubCategories> </ul> </MTIf> <!-- 親カテゴリがある場合実行する --> <MTHasParentCategory> <ul class="subCategory"> <MTTopLevelCategories> <MTSubCategories sort_order="descend"> <li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li> </MTSubCategories> </MTTopLevelCategories> </ul> </MTHasParentCategory>
こんなかんじで書いたので、サブカテゴリがないカテゴリには影響しませんし、親カテゴリがないカテゴリにも影響ありません。