<< instaMTをUSBメモリーに入れてみた | メイン | Firefox3を入れてみた。 >>

2008年4月30日

MovableType4以降でMTCategoryDepthを再現する。

MTいじり始めた時から、カテゴリー周りのMTタグはどうも苦手。
「Category」なのか「Categories」なのか迷う時あるし。
あと、「Sub」付くやつ紛らわしい。サブカテゴリー関連のタグかなぁと
思いきや、普通にカテゴリー関連タグだったりする「MTSubCatIsFirst」と
「MTSubCatIsLast」ね。ホント最近になってやっと理解したよ。

んで、カテゴリー周りのタグを勉強がてらいじってたら、MT4以降には
MTCategoryDepthがないらしい。
カテゴリーの階層調べられて便利だと思うんだけどなー。

まぁ他のタグで代用できるから削除されたんだと思うけどさ。。。
消す事はないんでないかな?

という事で、どうやったら既存のタグでCategoryDepthを再現出来るのか、
いろいろ試してみて、やっとうまくいった。
やり方忘れるとマズイから、書いとく事にしよっと。

<MTSetVar name="catDepth" value="0">
<MTTopLevelCategories>
<MTSubCatIsFirst>
<ul>
<MTSetVar name="catDepth" op="++">
</MTSubCatIsFirst>
<li><a href="<$MTArchiveLink$>"><$MTCategoryLabel$></a></li>
<MTGetVar name="catDepth">
<MTSubCatsRecurse>
<MTSubCatIsLast>
</ul>
<MTSetVar name="catDepth" op="--">
</MTSubCatIsLast>
</MTTopLevelCategories>

MTSetVarでDepthカウント用の変数宣言して、
MTSubCatIsFirstの中でインクリメント。
MTSubCatIsLastの中でデクリメント。
ってのでいいみたい。
※サンプルはカウント用にMTGetVarで表示させてます。

投稿者 shiro : 23:39 | カテゴリー:MovableType | コメント (0) | トラックバック (0)

トラックバック

このエントリーのトラックバックURL:
http://shiro.s57.xrea.com/cgi/mt/mt-tb.cgi/197

コメント

コメントしてください




保存しますか?