親カテゴリとサブカテゴリの記事一覧を表示する

MovableTypeで、カテゴリページに、そのカテゴリーに属する記事一覧だけを表示するだけでなく、そのカテゴリーに属するサブカテゴリの記事一覧も表示したいです。

ただ、サブカテゴリページで、同階層のサブカテゴリと、その親カテゴリに属する記事一覧を表示させようとする場合、サブカテゴリからみた親カテゴリに属する記事の一覧の出力ができないため、MTSetVarBlockタグなどを使う必要がある感じです。

<!--そのカテゴリにサブカテゴリがある場合-->
<MTHasSubCategories>
<ul>
<MTSetvarBlock name="oya"><MTParentCategory><$MTCategoryLabel$></MTParentCategory></MTSetvarBlock>
<MTEntries category="$oya">
<li><a href="<$MTEntryPermaLink$>"><$MTEntryTitle$></a></li></MTEntries>
<MTSubCategories>
<MTIfNonZero tag="MTCategoryCount">
<MTEntriesWithSubCategories sort_by="created_on" sort_order="ascend">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntriesWithSubCategories>
</MTIfNonZero>
</MTSubCategories>
</ul>
</MTHasSubCategories>
<!--そのカテゴリにサブカテゴリがない場合-->
<MTHasNoSubCategories>
<MTHasParentCategory>
<ul>
<MTSetvarBlock name="oya"><MTParentCategory><$MTCategoryLabel$></MTParentCategory></MTSetvarBlock>
<MTEntries category="$oya">
<li><a href="<$MTEntryPermaLink$>"><$MTEntryTitle$></a></li></MTEntries>
<MTParentCategory>
<MTSubCategories>
<MTIfNonZero tag="MTCategoryCount">
<MTEntriesWithSubCategories sort_by="created_on" sort_order="ascend">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntriesWithSubCategories>
</MTIfNonZero>
</MTSubCategories>
</MTParentCategory>
</ul>
<MTElse>
<!--そのカテゴリに、親・サブカテゴリがない場合-->
<ul>
<MTEntries sort_by="created_on" sort_order="ascend">
<li><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></li></MTEntries>
</ul>
</MTElse>
</MTHasParentCategory>
</MTHasNoSubCategories>

青色の文字色部分でトップレベルカテゴリに属する記事の一覧を出力できました。

このように組むことで、特定の親カテゴリとそれに属するサブカテゴリーページを閲覧した際に、その全てに属するエントリーの一覧が作成できるかと思います。