Movable Typeのカテゴリーアーカイブページでブログ全体のブログ記事一覧を表示する
Movable Typeのカテゴリーアーカイブページでブログ全体のブログ記事一覧を表示する方法です。ご質問をいただきましたので本エントリーで情報展開します。
1.基本
Movable Typeの「カテゴリ別ブログ記事リスト」テンプレートに、ブログ記事一覧を表示する次のようなテンプレートを記述します。
<mt:Entries lastn="10">
<$mt:EntryTitle$>
</mt:Entries>
このテンプレートは、メインページなどであればブログ全体のブログ記事一覧を表示しますが、「カテゴリ別ブログ記事リスト」テンプレートで使うと、該当カテゴリのブログ記事一覧の最新10件を出力するだけとなり、ブログ全体のブログ記事一覧を出力することはできません。
2.対処方法
1項のテンプレートを次の内容に変更します(赤色が変更部分)。
<mt:Blogs blog_ids="2" ignore_archive_context="1">
<mt:Entries blog_ids="2" lastn="10">
<$mt:EntryTitle$>
</mt:Entries>
</mt:Blogs>
テンプレートの解説ですが、まずMTBlogsタグで全体を括り、取得対象ブログのブログIDをblog_idsモディファイア(またはinclude_blogsモディファイア)に設定します。
そして、ignore_archive_contextモディファイアに「1」を設定します。このモディファイアはアーカイブテンプレートのコンテキストをMTBlogsタグの中で無効にするためのものです。ignore_archive_contextモディファイアはMTのコア機能に実装されていますが、正式なモディファイアではないようなので公式ドキュメントには掲載されていません。
MTBlogsタグの中にMTEntriesタグを記述します。ここでもblog_idsモディファイア(またはinclude_blogsモディファイア)を設定することでブログ全体のブログ記事一覧を取得できます。
他ブログのブログ記事一覧を取得するときも、この方法で実現できます。
元ネタは藤本さんの以下の記事です。
3.その他の対処方法
他にも色々な対処方法があります。詳細は以下の記事を参照ください。
- コンテキストをはずすプラグイン
- メインページと同じ情報をアーカイブページで表示する indexcontext プラグイン
- Ajaxによるモジュール化(jQuery版)
- Movable Type 4 の PHP モジュール化(MT5も同様)
- Movable Type 5.0(MT5.0)以降でアーカイブURLにサブドメインを適用する
- MTArchiveList タグブロック内で使えるテンプレートタグ
- 予約変数一覧 for Movable Type 4.2
- アーカイブページのリストの表示内容が異なる理由
- サイドバーの表示をメインページと同じにする
- 予約変数一覧 for Movable Type 4(その2)
- 予約変数一覧 for Movable Type 4(その1)
- アーカイブのブログ記事一覧をサイドバーに表示する
- Movable Type 4 のアーカイブリスト表示の仕組みを探る
- アーカイブページに「最近のコメント」「最近のトラックバック」を表示する