最近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の対象データとして実行されるらしい。「再帰処理」というらしい。
小カテゴリーが存在する場合は、始めに戻って、その小カテゴリーをTopLevelCategoriesとして、言わば「一段下げて」処理するってこと?
この辺りが大分まだあやしいです(笑)
勉強あるのみ。
ちなみに再構築すると、こんな感じになりました。
Comments