mt:Entriesでエントリをざざざざーっと出力する際に、各エントリが所属するカテゴリへのリンクも表示したい!というケースがあるかと思います。
そんなときによく使う、MTタグのサンプルをご紹介します。
カテゴリの有無をチェックしてから、mt:EntryCategoriesでカテゴリをすべて出力します。
<mt:If tag="EntryCategories"> <mt:EntryCategories> <a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a> </mt:EntryCategories> </mt:If>
MTのバージョンに応じて、2パターンの記述方法があります。
MT5系は既に「製品ライフサイクルの終了」を迎えていますので、後者のパターンは今後もう使うケースは少ないと思いますが、ご参考までご紹介しておきます。
<mt:If tag="EntryCategories"> <mt:EntryPrimaryCategory> <a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a> </mt:EntryPrimaryCategory> </mt:If>
<mt:If tag="EntryCategories"> <mt:EntryCategories type="primary"> <a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a> </mt:EntryCategories> </mt:If>
エントリのメインカテゴリの名前を取得して、それぞれ所属するカテゴリと総当りで比較するという、ワイルドな仕組み。
今となってはこの方法は使わないですね。
<$mt:EntryCategory setvar="main_category"$> <mt:EntryCategories> <mt:If tag="CategoryLabel" eq="$main_category"><$mt:CategoryBasename$></mt:If> </mt:EntryCategories>
ひとつ前のやり方と同じで、モディファイアを「eq」を「ne」に変えただけで実現できます。
メインカテゴリ以外を表示します。
<$mt:EntryCategory setvar="main_category"$> <mt:EntryCategories> <mt:If tag="CategoryLabel" ne="$main_category"><$mt:CategoryBasename$></mt:If> </mt:EntryCategories>
以上!
単純だけど忘れやすいちょっとしたお作法のご紹介でした。