【Movable Type】「mt:EntryCategories」では表示分岐はできても表示順は制御できない

Yukimi Sato 345views 更新:2015年4月20日

エントリーアーカイブでパンくずを出すときに詰まったのでメモ。
エントリが複数カテゴリに所属している場合に特定のカテゴリ郡のみ表示を行おうとしましたが、案外厄介でした。
sort_bysort_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>

こう記述して対応。もっといい書き方があればいいんだけども、今のところは力技で表示。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません