📃

【Movable Type】記事一覧を出力する

2022/05/28に公開

概要

管理画面「記事」で投稿された記事一覧を出力する方法。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モディファイアを指定すると、指定した数字分、冒頭から文字を抜き出して表示することができる(全角半角が混ざる投稿の場合は、場合は抜き出し文字数が若干前後する)

記事のリンクを絶対URLで出力する。

MTEntriesHeader

ループ出力の一番はじめのときだけ実行されるブロックタグ。

MTEntriesFooter

ループ出力の一番最後のときだけ実行されるブロックタグ。

公式リファレンス

すべて掲載しきれないので、大枠のもののみ記載しています。

MT

PowerCMS

Discussion