Movable Type
Movable Type アーカイブテンプレート
Movable Type ひとつ上の階層のサブカテゴリを表示する
Movable Type 4
Movable Type カテゴリー・アーカイブでサブカテゴリを表示するでカテゴリアーカイブテンプレートを変更したら、もうちょっと踏み込んでみます。
すべてのカテゴリにサブカテゴリがあればいいですが、そうでない場合ももちろんあります。最下層のカテゴリなどはそうですよね。
そういう場合、ただの空白ではなくて、そのカテゴリから見て同じ階層にあるカテゴリ(ひとつ上の階層のサブカテゴリ)たちを並べる、という手があります。
同じカテゴリアーカイブテンプレートを編集します。
例:該当のカテゴリにサブカテゴリがない場合は、同じ階層のカテゴリを表示
<MTHasNoSubCategories> <div> <MTHasParentCategory> <MTParentCategory> <MTSubCategories> <MTIfNonZero tag="MTCategoryCount"> <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"> <MTCategoryLabel></a> </MTIfNonZero> </MTSubCategories> </MTParentCategory> </MTHasParentCategory> </div> </MTHasNoSubCategories>
以下解説です。
<MTHasNoSubCategories> …サブカテゴリがない場合、以下を実行 <div> <MTHasParentCategory> …親のカテゴリがある場合 <MTParentCategory> …親のカテゴリの <MTSubCategories> …サブカテゴリ <MTIfNonZero tag="MTCategoryCount"> …があれば <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>">…そのカテゴリへのリンク設定 <MTCategoryLabel> </a>カテゴリ名 </MTIfNonZero> </MTSubCategories> </MTParentCategory> </MTHasParentCategory> </div> </MTHasNoSubCategories>
ただ、これだけだとサブカテゴリがない&親のカテゴリがない場合、つまり1階層目のカテゴリページでは何も表示されません。
ので、次のようにします。
続き→カテゴリ内のエントリーを表示する
Movable Type導入支援・カスタマイズ・構築はこちら
- 閉じ忘れがありますよ — {2010-09-14 (火) 20:20:26}
- ご指摘、ありがとうございます!修正しました。 — 中の人 {2010-09-15 (水) 14:21:27}
- 閉じ忘れがありますよ — {2012-08-14 (火) 11:56:24}
- 申し訳ありません、もう弊社でMTの環境がないため、ご指摘の箇所がわかりません。お手数でなければ、修正して頂けるか、どの部分か教えて頂けると助かります。m(_ _)m — 中の人 {2012-08-15 (水) 10:53:03}