MT - カテゴリーアーカイブでカテゴリーが表示されない
Thursday, Jul 21, 2005 - 01:44 +09:00
カテゴリーを階層状に表示させたい場合は、<MTSubCategories>を使います。MT公式サイトのマニュアルによると、
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCategories>
<li>
<MTCategoryLabel>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
...と書くようだけど、これをこのまま書くとカテゴリー・アーカイブではカテゴリーが一覧表示されない。これはつまり、<MTSubCatsRecurse>というタグは「現在の」カテゴリーの子カテゴリーに繰り返されるタグだから。
つまりカテゴリーが以下のような階層構造になっているとすると...
- オススメ
- 本
- DVD
- CD
「オススメ」カテゴリーの一覧ページでは、「オススメ」、「本」、「DVD」、「CD」が書き出されるけど、「本」カテゴリーの一覧ページでは「本」しか書き出されない。それはつまり、現在のページのカテゴリー「本」の下にはカテゴリーが存在しないから。
では、深い階層のページでもカテゴリーを一覧表示させるにはどうするか。
答えは簡単。<MTSubCategories>の代わりに、<MTTopLevelCategories>を使用する。このタグは<MTSubCategories>のクローン(つまり同じ働きをする)で、ただし常に最上位の階層から繰り返しを始める。ということは「現在の」カテゴリーに関わりなく、常に一番最初のカテゴリーから書き出してくれる。テンプレートのコードは、こうなる。
<MTTopLevelCategories>
<MTSubCatIsFirst><ul></MTSubCategories>
<li>
<MTCategoryLabel>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
このコードでは、常に全カテゴリーが一覧表示される。なので単純にカテゴリーを全て表示させたいのなら、このタグを利用するのが無難です。
全ページで同じように出力されるため、モジュール化して一括管理できるのも利点。上記のソースをコピーして登録し、代わりに<MTInclude module="Category">などとしておけば、管理/編集も随分楽になります。オススメ。
posted in Tool Trackback (0)
Trackback
- このエントリーのトラックバックURL
- http://rospear.info/other/mt-tb.cgi/41