【Movable Type】年別(月別)アーカイブ一覧を出力する
概要
管理画面「記事」あるいは「コンテンツデータ」で投稿された記事の年別または月別アーカイブ一覧を出力する方法。PowerCMSも同様(コンテンツデータはMTのみ)
使用できるモディファイアは、最低限覚えておくとよいもののみ記載しています。
基本構造
<mt:ArchiveList type="[アーカイブタイプ]">
ここに記述した内容がループ出力される
</mt:ArchiveList>
<mt:ArchiveList></mt:ArchiveList>
で囲った内容がループ出力される。
以下の例では、年別アーカイブ一覧を出力しています。
<!-- MTML -->
<mt:ArchiveList type="Yearly">
<mt:ArchiveListHeader>
<h2>年別アーカイブ一覧</h2>
<ul>
</mt:ArchiveListHeader>
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveDate format="%Y年"$></a></li>
<mt:ArchiveListFooter>
</ul>
</mt:ArchiveListFooter>
</mt:ArchiveList>
<!-- 出力結果 -->
<h2>年別アーカイブ一覧</h2>
<ul>
<li><a href="年別アーカイブリンクurl">2025年</a></li>
<li><a href="年別アーカイブリンクurl">2024年</a></li>
<li><a href="年別アーカイブリンクurl">2023年</a></li>
</ul>
また、以下の例では月別アーカイブ一覧を年ごとにまとめる形で出力しています。
<!-- MTML -->
<mt:ArchiveList type="Yearly">
<mt:ArchiveListHeader>
<h2>年別(月別)アーカイブ一覧</h2>
<dl>
</mt:ArchiveListHeader>
<dt><$mt:ArchiveDate format="%Y年"$></dt>
<mt:ArchiveList type="Monthly">
<mt:ArchiveListHeader>
<dd><ul>
</mt:ArchiveListHeader>
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveDate format="%b月"$></a></li>
<mt:ArchiveListFooter>
</ul></dd>
</mt:ArchiveListFooter>
</mt:ArchiveList>
<mt:ArchiveListFooter>
</dl>
</mt:ArchiveListFooter>
</mt:ArchiveList>
<!-- 出力結果 -->
<h2>年別(月別)アーカイブ一覧</h2>
<dl>
<dt>2025年</dt>
<dd><ul>
<li><a href="年別アーカイブリンクurl">1月</a></li>
</ul></dd>
<dt>2024年</dt>
<dd><ul>
<li><a href="年別アーカイブリンクurl">12月</a></li>
<li><a href="年別アーカイブリンクurl">11月</a></li>
<li><a href="年別アーカイブリンクurl">10月</a></li>
</ul></dd>
</dl>
この場合、実際のアーカイブリンク出力は月別のみですが、あらかじめ記事リストアーカイブで年別のアーカイブマッピングも作成・公開しておく必要があります(公開しておかないと再構築時にエラーになる)
この場合のアーカイブマッピングは、ひとつの記事リストアーカイブテンプレートに対して年別・月別両方を設定します。
とりあえず覚えておくといいモディファイア
以下はを出力させる際、最低限覚えておくといいもの。
typeまたはarchive_type
出力するアーカイブの種類を指定する。
以下は一例です。これ以外のものは公式リファレンスをご確認ください。
-
Yearly
(年別) -
Monthly
(月別) -
Category-Yearly
(カテゴリ年別) -
Category-Monthly
(カテゴリ月別) -
ContentType-Yearly
(コンテンツタイプ年別) -
ContentType-Monthly
(コンテンツタイプ月別) -
ContentType-Category-Yearly
(コンテンツタイプカテゴリ年別) -
ContentType-Category-Monthly
(コンテンツタイプカテゴリ月別)
content_type
type
(またはarchive_type
)で指定するアーカイブの種類がコンテンツタイプの場合、コンテンツタイプの以下いずれかを指定する。
- 名前
- ID
- ユニークID
sort_order
出力するアーカイブの順番をascend
(昇順)かdescend
(降順)で指定する。初期値はdescend
。
lastn
出力するアーカイブの数を指定する。このモディファイアの指定がなければ、すべて出力する。
一緒に覚えておくといいMTタグ
記事一覧出力時に一緒に覚えておくといいMTタグたち。<mt:ArchiveList>~</mt:ArchiveList>
タグ内で使用する。
MTArchiveTitle
記事リストアーカイブのタイトルを表示する。表示されるタイトルは、アーカイブの種類に依存する。
MTArchiveDate
出力するアーカイブの日付を表示する。
format
モディファイアで書式の選択が可能
参照:http://www.movabletype.jp/documentation/appendices/date-formats.html
MTArchiveLink
作成するアーカイブマッピングの設定に応じて、記事リストアーカイブのリンクを絶対URLで出力する。
MTArchiveListHeader
ループ出力の一番はじめのときだけ実行されるブロックタグ。
MTArchiveListFooter
ループ出力の一番最後のときだけ実行されるブロックタグ。
MTIfArchiveType
type
(またはarchive_type
)モディファイアで指定したアーカイブの種類でテンプレートが出力(処理)される場合に実行するブロックタグ。
<mt:IfArchiveType type="Monthly">
<!-- アーカイブの種類が「月別」のテンプレートの場合に出力(処理)される内容 -->
</mt:IfArchiveType>
公式リファレンス
MT
- https://www.movabletype.jp/documentation/appendices/tags/archivelist.html
- https://www.movabletype.jp/documentation/appendices/tags/ifarchivetype.html
Discussion