September 24, 2004
MT でサブカテゴリ以下も全て表示させるには?
- 更新: 2007 年 03 月 04 日 15:36
- 2004 年 09 月 24 日 15:57 に asiamoth が投稿
- タグ: MovableType
- カテゴリー: Movable Type
- コメントする
- トラックバック (11)
MT3.11 からサブカテゴリを利用することができるようになりました。これは、要するに SubCategories プラグインと同じ機能のようです。
標準のテンプレートではサブカテゴリの機能がうまく動作しないので、テンプレートを変更する必要があります。
カテゴリのリスト表示などで、下記のように表示するには、SubCategories プラグインと同じタグを利用する必要があります。
- カテゴリ A
- カテゴリ B
- カテゴリ C (B のサブカテゴリ)
カテゴリリストは、下記のようにします。
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<li>
<MTCategoryLabel>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
これで、カテゴリーのリスト表示は OK です。
親カテゴリをクリックすると、子(孫)カテゴリも表示
さて、このままでもいいですが、カテゴリのリストが下記のような状態だったとします。“()”の中は、エントリの数です。
- カテゴリ A (2)
- カテゴリ B (4)
- カテゴリ C (6)
カテゴリ A をクリックすると、当然“2つのエントリ”が表示されます。では、カテゴリ B をクリックすると、いくつのエントリが表示されるでしょうか ?
正解は“4つです”。つまり、カテゴリ B 直下のエントリしか表示されないのです。
もし、カテゴリ B をクリックすると“カテゴリ B (4) + カテゴリ C (6)”の合計である“10 個のエントリー”を表示するには、Category Archive テンプレートを下記のように変更する必要があります。
<MTEntries> ... </MTEntries>
となっているところを、
<MTEntriesWithSubCategories> ... </MTEntriesWithSubCategories>
に変更し、リビルドするだけで OK です。テキストエディタの置換機能を使えば、一回で終わりますね(MTEntries → MTEntriesWithSubCategories)。
カテゴリページの URL もサブカテゴリっぽく
ウェブログの設定 > アーカイブの設定 > 「アーカイブ・ファイルのテンプレート 」の Category Archive のパスを
<MTParentCategories glue="/"><MTCategoryLabel dirify="1"></MTParentCategories>
に変更すると、上記の例の場合は
http://(MT のアーカイブパス)/CategoryA/
http://(MT のアーカイブパス)/CategoryB/
http://(MT のアーカイブパス)/CategoryB/CategoryC/
といった URL になります。
問題点
ちょっとした問題点があります。例えば、カテゴリのリストが下記の状態の場合です。
- カテゴリ A (2)
- カテゴリ B (0)
- カテゴリ C (6)
- カテゴリ D (8)
カテゴリ B をクリックすると、カテゴリ B,C,D の合計、14 個のエントリが表示される……はずですが、エントリが 0 の場合はインデックスファイルが作成されません。つまりこの場合、カテゴリ B はクリックできません。
少々不便ですが、一つでもエントリがあればインデックスファイルが作成されるので「このカテゴリの説明」といったエントリを作成すればいいでしょう。
参考にさせていただいたページ
“SubCategoriesを極める”: Unmovabletype
下記の SubCategories プラグインの説明を日本語化……している途中なのが残念。しかしレイアウトが見易いので、こちらを主に参考にしました。
トラックバック
以下11件のトラックバックはこのページのエントリー"MT でサブカテゴリ以下も全て表示させるには?"を参照しています。
このエントリーのトラックバックURL:
» mt3.11-jaでサブカテゴリをつくるも…
- October 21, 2004 09:38 PM
- from とく
ページの動的生成も、予約投稿もうまくいったので、ついでにサブカテゴリーをつくろうと実験。 しかし、インデックスのページのカテゴリーの表示をおもったようにつくろうとするに... [続きを読む]
» 飛ばない鳥飛べない鳥
- October 22, 2004 11:25 PM
- from 幻想のさ・く・ら
『その向こうの向こう側(1)(2)』(渡辺祥智、ブレイドコミックス)→Amznほ... [続きを読む]
» MT3.1日本語版にUPGRADE31.CGI
- October 24, 2004 12:30 PM
- from SABlog
Movable Type日本語版が3.1にバージョンを上げたので、早速バージョンアップ。3.0からの変更点は以下の通り。投稿予約サブカテゴリー動的ページ生成 なんとなくサブカテゴ... [続きを読む]
» カテゴリ表示のカスタマイズ
- October 25, 2004 10:07 PM
- from 愛媛みかん
サイドバーのカテゴリ表示部分をカスタマイズ。 MT でサブカテゴリ以下も全て表示... [続きを読む]
» MT3.1 サブカテゴリ表示
- October 26, 2004 10:30 PM
- from gigantic
MT3.1の新機能を使ってみよう、ということで、サブカテゴリ表示にしてみた。こちらの亜細亜ノ蛾 - Weblog:MT でサブカテゴリ以下も全て表示させるには?を参考にさせていただいた。 しかし... [続きを読む]
» サブカテゴリつくったけど…
- November 6, 2004 10:17 PM
- from とく
いろいろ試行錯誤しながら、サブカテゴリを利用してみることに。 ただ、不満もあって、<MTEntriesWithSubCategories>というタグを使っても、たとえば親カテゴリのリンクをたどっても、子... [続きを読む]
» MTでサブカテゴリ追加
- November 28, 2004 03:05 PM
- from Nitty-Gritty
MT(Movable Type)をバージョンアップして、3.11にしてしばらく... [続きを読む]
» 理想を言えばキリがない
- December 6, 2004 10:04 AM
- from baby's talk
ようやく自分の望む形でサブカテゴリの表示が出来るようになりました。 参考にしたの... [続きを読む]
» サブカテゴリーの表示
- January 10, 2005 02:05 AM
- from F.E.E.L.:far east easy living
せっかくのサブカテゴリ機能なので、 使ってみることにしましたが、設定が難しかったです。 なんとかMainIndexには、表示されるようにはできましたが、 カテゴ... [続きを読む]
» サブカテゴリも含めたカテゴリ別表示にと戯れる
- December 7, 2005 01:17 PM
- from 法務だけど理系女子の綴るblog
Movable Typeを3.2にアップグレードしたら、サブカテゴリの機能が使え... [続きを読む]
コメント
コメントを投稿
"MT でサブカテゴリ以下も全て表示させるには?" にコメントを投稿することができます(別ウィンドウが開きます)。