【MT】カテゴリ別記事一覧でメインカテゴリ(プライマリカテゴリ)のみ表示する方法

Movable Typeで、プラグイン等を使わずにメインカテゴリ別に記事一覧をソートする方法です。普通にカテゴリ別記事一覧を作ると、メインカテゴリ、サブカテゴリの両方に記事が出てしまうので、それを回避する方法です。

 

カテゴリー毎記事一覧(主カテゴリのみ表示)
<MTTopLevelCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><MTCategoryLabel>

<MTSetVars>
cat_lab=<MTCategoryLabel>
</MTSetVars>

<ul>
<MTEntries lastn="all">

<MTSetVars>
p_cat=<MTEntryCategory>
</MTSetVars>

<MTIf name="cat_lab" eq="$p_cat">
<li><a href="<mt:EntryPermalink>"><$mt:EntryTitle$></a></li>
</MTIf>

</MTEntries>
</ul>
<MTElse>
<li><MTCategoryLabel>
</MTIfNonZero>
<$MTSubCatsRecurse$>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>

 

簡単に解説。

<MTSetVars>
cat_lab=<MTCategoryLabel>
</MTSetVars>

ここでは、変数cat_labに表示するカテゴリ名を入れる。

 

<MTSetVars>
p_cat=<MTEntryCategory>
</MTSetVars>

そして、変数p_catには各エントリーのメインカテゴリ(主カテゴリ、プライマリカテゴリ)名を入れる。

 

<MTIf name="cat_lab" eq="$p_cat"></MTIf>

あとは、ここで、変数cat_labと変数p_catが一致する場合のみ、表示させるようにする。

 

こうすれば、プラグインなど使わずにメインカテゴリのみの記事一覧が作れます。