【Movable Type】記事一覧を出力する
概要
管理画面「記事」で投稿された記事一覧を出力する方法。PowerCMSも同様。
使用できるモディファイアは、最低限覚えておくとよいもののみ記載しています。
基本構造
<mt:Entries>
ここに記述した内容がループ出力される
</mt:Entries>
<mt:Entries></mt:Entries>
で囲った内容がループ出力される。
<!-- MT記述 / 最新3件分表示 -->
<mt:Entries lastn="3">
<mt:EntriesHeader>
<h2>記事一覧</h2>
<ul>
</mt:EntriesHeader>
<li><a href="<$mt:EntryPermalink$>"><$mt:EntryDate format="%Y.%m.%d"$> <$mt:EntryTitle$></a></li>
<mt:EntriesFooter>
</ul>
<mt:EntriesFooter>
</mt:Entries>
<!-- HTML出力 / 最新3件分表示 -->
<h2>記事一覧</h2>
<ul>
<li><a href="記事リンクurl">2020.09.10 タイトル3</a></li>
<li><a href="記事リンクurl">2020.09.09 タイトル2</a></li>
<li><a href="記事リンクurl">2020.09.08 タイトル1</a></li>
</ul>
なお、以下のようにすることで公開記事が1件もない場合の分岐が可能です。
<mt:Entries>
<!-- 公開記事がある場合の処理 -->
<mt:Else>
<!-- 公開記事が1件もない場合の処理 -->
</mt:Entries>
とりあえず覚えておくといいモディファイア
以下は記事を出力させる際、最低限覚えておくといいもの。
lastn
出力する記事の数を指定。
とくに指定がなければ管理画面で設定した件数分表示される。0
を指定すると全件表示。
同じく記事数を指定するものにlimit
というモディファイアがあるが、単純に公開日付順に出力したい場合は、lastn
で数値を指定するでOK。
categoryまたはcategories
特定のカテゴリに属する記事だけ出力したいときに指定。指定するのは「カテゴリ名」。どちらの書き方でも挙動は同じ。
複数指定する場合はANDで繋ぐ(カテゴリA AND カテゴリB
)
NOT カテゴリ名
とすると、そのカテゴリを除外して出力する。
他にも指定できるので、詳細は公式ドキュメント参照。
include_subcategories
1
を指定すると、親カテゴリ以下すべてのサブカテゴリを出力する。
blog_idsまたはinclude_blogs
指定したブログIDに属する記事だけを出力する。指定は,
(カンマ)区切り
exclude_blogs
指定したブログIDに属する記事を除外する。指定は,
(カンマ)区切り。
一緒に覚えておくといいMTタグ
記事一覧出力時に一緒に覚えておくといいMTタグたち。<mt:Entries>~</mt:Entries>
タグ内で使用する。
MTEntryTitle
記事のタイトルを表示する。
MTEntryDate
記事の公開日の日付を表示する。
format
モディファイアで書式の選択が可能
参照:http://www.movabletype.jp/documentation/appendices/date-formats.html
MTCategoryLabel
記事のカテゴリ名を表示する。
MTEntryCategory
も同じく記事のカテゴリ名を表示するが、こちらは複数カテゴリが選択されている場合、メインのカテゴリ(記事編集画面で太字になっているもの)を表示する。
MTEntryID
記事のIDを表示する。
MTEntryBody
記事の本文を表示する。
このタグにwords
モディファイアを指定すると、指定した数字分、冒頭から文字を抜き出して表示することができる(全角半角が混ざる投稿の場合は、場合は抜き出し文字数が若干前後する)
MTEntryPermalink
記事のリンクを絶対URLで出力する。
MTEntriesHeader
ループ出力の一番はじめのときだけ実行されるブロックタグ。
MTEntriesFooter
ループ出力の一番最後のときだけ実行されるブロックタグ。
公式リファレンス
すべて掲載しきれないので、大枠のもののみ記載しています。
MT
- https://www.movabletype.jp/documentation/appendices/tags/entries.html
- https://www.movabletype.jp/documentation/appendices/date-formats.html
Discussion