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

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

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