エントリーアーカイブでパンくずを出すときに詰まったのでメモ。
エントリが複数カテゴリに所属している場合に特定のカテゴリ郡のみ表示を行おうとしましたが、案外厄介でした。
sort_by
や sort_order
が効かないブロックタグはそういう仕様みたいです。。
mt:If
で絞り込んで行っても表示順は変えられず。
<mt:EntryCategories> <mt:If name="cat_name" eq="area"> <p>1:<$MTCategoryLabel remove_html="1"$></p> <mt:Else> <mt:If name="cat_name" eq="item"> <p>2:<$MTCategoryLabel remove_html="1"$></p> </mt:If> </mt:Else> </mt:If> </mt:EntryCategories>
こう記述しても上から表示されるのではなく、あくまでも表示順はループ順で固定。
mt:entryCategories
内で順番は変えられないので、mt:entryCategories
自体を分岐する分だけ増やす。
<mt:EntryCategories> <mt:If name="cat_name" eq="area"> <p>1:<$MTCategoryLabel remove_html="1"$></p> </mt:If> </mt:EntryCategories> <mt:EntryCategories> <mt:If name="cat_name" eq="item"> <p>2:<$MTCategoryLabel remove_html="1"$></p> </mt:If> </mt:EntryCategories>
こう記述して対応。もっといい書き方があればいいんだけども、今のところは力技で表示。