最近MTの記事ばっかりだ…
今回は、カテゴリーのツリーを表示する方法。
条件分岐の練習にもってこいです。多分…
コードは、

<MTTopLevelCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
 <li><a href="<$MTCategoryArchiveLink$>"
 title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a>[<$MTCategoryCount$>]
<ul>
<MTEntries>
 <li><a href="<$MTEntryPermaLink$>"><$MTEntryTitle$></a></li>
 </MTEntries>
 </ul>
 <MTElse>
 <li><MTCategoryLabel>
</MTIfNonZero>
<$MTSubCatsRecurse$>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories> 

テキストに書いてあったのを丸写しだ…

赤文字の<MTTopLevelCategories>は、最上位の階層から順番に実行するタグ。

青文字の<MTSubCatIsFirst><ul></MTSubCatIsFirst>は、あるサブカテゴリーの一番最初の時だけ実行される。同じ様に、2番目の青文字の、<MTSubCatIsLast></ul></MTSubCatIsLast>は、最後の時だけ実行される。

緑文字の

<MTIfNonZero tag="MTCategoryCount">
処理
<MTElse>
処理
</MTIfNonZero>

で、条件分岐をしている。tag=”MTCategoryCount”で、カテゴリーに含まれるブログ記事の数を判定させる。様は、そのカテゴリーに記事が投稿されているか、されていないかで条件分岐をしている。

若干まだ上手く飲み込めずに居るのが、シアン文字の<$MTSubCatsRecurse$>。

様は、このタグは、現在処理しているタグに、小カテゴリーが存在する場合、その小カテゴリーをTopLevelCategoriesの対象データとして実行されるらしい。「再帰処理」というらしい。

MTリファレンスはこちら。

小カテゴリーが存在する場合は、始めに戻って、その小カテゴリーをTopLevelCategoriesとして、言わば「一段下げて」処理するってこと?

この辺りが大分まだあやしいです(笑)

勉強あるのみ。

ちなみに再構築すると、こんな感じになりました。

http://sklgheirhn.uh-oh.jp/category.html