Movable Type 4 のカテゴリーアーカイブで全てのブログ記事を表示する
Movable Type 4 デフォルトテンプレートでのカテゴリーアーカイブでは、そのカテゴリーのブログ記事が全て表示されない仕組みになっています。
これは、カテゴリーアーカイブの表示記事数を絞る代わりに、「月別カテゴリーアーカイブ」を併用して、カテゴリーアーカイブの分割ページとして賄うようにしているためです。
こうすることで、カテゴリーアーカイブの記事数が増大しても、カテゴリーアーカイブをページ分割等で表示記事数を絞る必要がなくなります。
本エントリーでは、カテゴリーアーカイブで表示記事数がメインページと同じになる仕組みと、それを解除する方法等について解説します。
1.カテゴリーアーカイブで表示記事数が絞られる仕組み
仕組みは簡単で、デフォルトテンプレートであれば、「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」の MTEntries タグに limit モディファイアを適用されていると思います。このモディファイアの値に "auto" が設定されていれば、アーカイブでの表示記事数が「設定」→「ブログの設定」→「ブログ記事」→「ブログ記事の表示数」の設定が適用されます。つまりメインページと同じ表示になります。
:
<MTIf name="datebased_archive">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
<MTElse>
<MTEntries limit="auto">
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
</MTIf>
:
上のリストは、次のように表示するアーカイブを振り分けています。
<MTIf name="datebased_archive">
:
(日付アーカイブ)
:
<MTElse>
:
(カテゴリーアーカイブ)
:
</MTIf>
limit モディファイアは lastn モディファイアと似たような動作を行ないます。
2.カテゴリーアーカイブで記事をすべて表示する
「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」で、limit モディファイアを削除すれば、カテゴリーアーカイブで記事をすべて表示できます(下)。
:
<MTIf name="datebased_archive">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
<MTElse>
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
</MTIf>
:
ただし、この方法では、記事数が増えるにしたがってファイルサイズも増大するので、日付カテゴリアーカイブとの併用が望ましいです。
3.月別カテゴリーアーカイブリストを表示する
当ブログの配布テンプレートではサイドバーに月別カテゴリーアーカイブのリストが表示されないので(過去のバージョンで一部表示されるものもあります)、下記のリストを「サイドバー」テンプレートに貼り付けておけば、月別カテゴリーアーカイブにリンクさせることができます(この点についてはいずれ修正します)。
<MTIf name="module_category-monthly_archives">
<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<dt class="sidetitle">
Monthly <$MTCategoryLabel$>
</dt>
<dd class="side">
<ul>
<MTArchiveList archive_type="Category-Monthly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a> [<$MTArchiveCount$>]</li>
</MTArchiveList>
</ul>
</dd>
</MTIfArchiveTypeEnabled>
</MTIf>