本文へジャンプ

MTタグの初期値について

Posted by MONSTER DIVE
「MONSTER REPORT」先輩モンスターたちが、仕事・就活・カルチャーについてリアルに綴るコラム

「10件以上登録されているはずなんだけど、お知らせの一覧の表示されている件数が少ない気がする。」
このような質問をされた場合、この「10件」という点が原因を特定するための重要なポイントになります。

Movable Type(MT)の仕様として、ブロックタグのモディファイア(属性)は省略することが可能です。
もしテンプレート側で出力件数を指定するモディファイア(limitなど)を省略している場合は、システム規定値である「10件」が自動的に設定されて処理されます。

具体的には、管理画面の「設定」-「投稿」メニューにて、表示する記事数(初期値:10投稿)とソート順(初期値:降順)の規定値が指定されているため、モディファイア未指定のタグはその設定に従って最新の10件のみを表示します。

表示件数を増やしたい(例えば全件や20件など)場合は、タグに対して limit="20" や lastn="0"(全件表示)といったモディファイアを明示的に付与する必要があります。

「設定」-「投稿」にて、表示する記事数(10投稿)ソート(降順)の規定値が指定されている。

記事(mt:Entries)

記事(mt:Entries)の場合は、以下のようなモディファイアが省略されています。

<mt:Entries>
↓↓
<mt:Entries limit="auto" offset="0" sort_by="authored_on" sort_order="descend" include_subcategories="0" unique="0">
  • limit="auto" → 投稿の規定値を使用する
  • offset="0" → 「0」件なのでスキップなし。
  • sort_by="authored_on" → 「公開日」をキーとして並べる。
  • sort_order="descend" → 降順で新しいものが上。
  • include_subcategories="0" → 「0」なので影響なし。
  • unique="0" → 「0」なので影響なし。

「lastn」モディファイアは、これだけで公開日降順になりますので、「sort_by="authored_on" sort_order="descend"」が指定されていることになります。
lastn="0"で公開日降順で全件表示になります。
lastn モディファイアと limit モディファイアの違い

各モディファイアの詳細はこちら。
MTEntries(Movable Type ドキュメントサイト)

ウェブページ(mt:Pages)

ウェブページ(mt:Pages)も同様に、以下のようなモディファイアが省略されています。

<mt:Pages>
↓↓
<mt:Pages limit="auto" offset="0" sort_by="authored_on" sort_order="descend" no_folder="0" unique="0">
  • limit="auto" → 投稿の規定値を使用する
  • offset="0" → 「0」件なのでスキップなし。
  • sort_by="authored_on" → 「公開日」をキーとして並べる。
  • sort_order="descend" → 降順で新しいものが上。
  • no_folder="0"
  • unique="0"

各モディファイアの詳細はこちら。
MTPages(Movable Type ドキュメントサイト)

コンテンツタイプ(mt:Contents)

コンテンツタイプ(mt:Contents)も同様に、以下のようなモディファイアが省略されています。
件数を指定する部分がすこし違っています。

全件を表示するには limit="0"ではなく、「limit="none"」を指定します。

<mt:Contents content_type="イベント・セミナー">
↓↓
<mt:Contents content_type="イベント・セミナー" limit="none" offset="0" sort_by="authored_on" sort_order="descend" unique="0">
  • limit="none" → 全件表示
  • offset="0" →  「0」件なのでスキップなし。
  • sort_by="authored_on" → 「公開日」をキーとして並べる。
  • sort_order="descend" → 降順で新しいものが上。
  • unique="0"

各モディファイアの詳細はこちら。
MTContents (Movable Type ドキュメントサイト

カスタムオブジェクト(PowerCMS)

PowerCMSの「カスタムオブジェクト」は、初期値の仕様がMovable Typeの標準的なタグ(mt:Entriesなど)とは大きく異なります。

具体的には、出力件数やソート順のデフォルト設定が以下のように定義されています。

  • 初期の並び順はIDの昇順:
    標準の記事一覧のように公開日順の降順(新しいものが上)ではなく、IDを基準とした昇順(古いもの、または登録順に新しいものが下)で並びます。
  • 上限件数の仕様:
    標準の10件とは異なり、「9999件」が設定されるため、全件表示されます。
  • ソートに関する注意点:
    「limit」属性の代わりに「lastn」を使用しても、公開日順にはソートされません。意図した順序で出力したい場合は、「sort_by」や「sort_order」モディファイアを明示的に指定する必要があります。
<mt:CustomObjects>
↓↓
<mt:CustomObjects limit="9999" offset="0" sort_by="id" sort_order="ascend" include_draft="0">
  • limit="9999" → 「9999」件。
  • offset="0" → 「0」件なのでスキップなし。
  • sort_by="id" → 「id」をキーとして並べる。
  • sort_order="ascend" → 「昇順」で値の小さいのが上。
  • include_draft="0" → 公開状態のオブジェクトが対象。

MTCustomObjects(PowerCMS)

また、運用上の注意点として、カスタムオブジェクトのコンテンツを保存・更新した際、連動して再構築されるのは「自身の詳細アーカイブテンプレート」のみとなります。
インデックステンプレートは連動して再構築されないため、別途再構築トリガーなどの設定が必要です。

再構築トリガー(PowerCMS)

まとめ

Movable Typeのテンプレートタグは、モディファイア(属性)を省略することが可能ですが、その場合はシステム規定値が自動的に設定されて処理されます。
標準的な記事(mt:Entries)やウェブページ(mt:Pages)のタグは、デフォルトで最新の「10件」が降順で表示される仕様です。
一方で、PowerCMSの「カスタムオブジェクト」は、ID基準の昇順で「9999件」が指定されるなど、初期値の仕様が大きく異なります。

表示上のトラブルを防ぎ、運用・メンテナンスの効率を高めるためにも、「limit」や「sort_by」といった各モディファイアは省略せず、あえて明示的に書いてしまうのもありかもしれません。

「MONSTER REPORT」先輩モンスターたちが、仕事・就活・カルチャーについてリアルに綴るコラム
Recent Entries
MD EVENT REPORT
What's Hot?