Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Template Tag Referenceテンプレートタグリファレンス

MTPages

最終更新日: 2017.10.10

ウェブページの一覧を表示するためのブロックタグです。

  • 使い方
<mt:Pages folder="about">
<mt:PagesHeader>
<div class="content">
  <div class="content-header">
    <h1><$mt:PageTitle$></h1>
  </div>
  <div class="content-body">
</mt:PagesHeader>
    <$mt:PageBody$>
    <$mt:PageMore$>
<mt:PagesFooter>
  </div>
  <div class="content-footer">
    <address>
      <span class="vcard author">Posted by: <a class="url fn" href="<mt:PageAuthorURL>"><$mt:PageAuthorDisplayName$></a></span> 
      <span class="updated">Last update: <abbr title="<mt:PageModifiedDate format_name="iso8601">"><$mt:PageModifiedDate format="%b %d, %Y %H:%M"$></abbr></span>
    </address>
  </div>
</div>
</mt:PagesFooter>
</mt:Pages>

モディファイア

lastn="N"

指定した数のウェブページを表示します。N0 より大きな数値にしてください。

limit="N"

lastn モディファイアがウェブページの公開日順に指定件数表示するのに対し、limit モディファイアは、指定された条件でフィルタリングした結果を指定数だけ表示します。詳しくは、lastn モディファイアと limit モディファイアの違いを参照してください。

値に auto を指定した場合、Movable Type の管理画面内で設定した表示件数、または、日数分で出力します。

sort_by="foo"

ウェブページを並び替える対象を指定します。

  • authored_on (公開日・初期値)
  • author_id (作成ユーザー ID)
  • basename (出力ファイル名)
  • created_on (作成日)
  • excerpt (概要)
  • title (ウェブページのタイトル)
  • comment_count (コメントの件数) new in mt4.2
  • ping_count (トラックバックの件数) new in mt4.2
  • text (本文)
  • text_more (続き)
  • title (ウェブページのタイトル)
  • modified_on (変更日時)
  • rate (レート)
  • score (スコア)
  • field:customfieldbasename (カスタムフィールドのベースネーム)

rate, score を指定するときは、namespace モディファイアで対象の名前空間を設定する必要があります。

カスタムフィールドの値を利用してソートできます。モディファイアの値を field:customfieldbasename のように設定します。customfieldbasename には、カスタムフィールド作成時に設定した [ベースネーム] を指定します。

sort_order="ascend | descend"

並べる順序を指定します。ascend を指定すると昇順 (新しいものが下)descend は降順 (新しいものが上) です。初期値は descend です。

field:customfieldbasename="foo"new in mt4.2 Commercial

カスタムフィールドの値 foo を利用して出力するウェブページをフィルタリングできます。モディファイアの customfieldbasename には、カスタムフィールド作成時に設定した [ベースネーム] を指定します。

例えば表示するウェブページを、値が 2 だけのものにしたいときは次サンプルのようにします。

<mt:Pages field:product_rank="2">
...
</mt:Pages>

また、次のサンプルは、special というベースネームのカスタムフィールド (チェックボックスとする) がチェックされているウェブページを新規作成順に並べ、その先頭から 5 件を表示します。

<mt:Pages field:special="1" sort_by="authored_on" sort_order="descend" limit="5">

このモディファイアでは、カスタムフィールドに入力した複数の値を組み合わせたフィルタリング (AND, OR, NOT) を利用できません。

namespace="foo"

スコアでソート (sort_by="score") するとき、どのスコア名前空間を使用するかを設定します。

お気に入り登録 の登録数でソートしたいときは、community_pack_recommend を設定します。community_pack_recommend 以外の名前空間を指定する場合は、独自にプラグインなどでの拡張が必要になります。

offset="N"

指定した数のウェブページを除外して表示します。値に 5 を指定すると、最新 5 件のウェブページを除外してリスト表示します。lastn モディファイアと組み合わせて使ってください。

folder="folder_foo", folders="folder_foo"

このモディファイアでは、ウェブページを特定のフォルダに属するものだけにフィルタリングできます。ウェブページに設定したサブフォルダもフィルタリングの対象になります。

指定する値はフォルダ名です。(フォルダのベースネームではありません。)

folder="folder_foo"、および folders="folder_foo" のどちらも、挙動は同じです。1 つのフォルダをフィルタリングする際に folders="folder_foo" と記述が可能ですし、複数フォルダのフィルタリングをする際に folder="folder_foo という記述が可能です。

次のサンプルは、ひとつのフォルダ (サンプルでは Featured フォルダ)に含まれるウェブページだけにフィルタリングします。

<mt:Pages folder="Featured">

もし、指定したいフォルダが、別の親フォルダに含まれる同じ名前の子フォルダなら、親フォルダといっしょに指定します。

<mt:Pages folder="News/Featured">

または

<mt:Pages folder="Projects/Featured">

名前に半角スラッシュ / が含まれているフォルダを指定する場合は [] で囲みます。

<mt:Pages folder="[Coffee/Tea]">

複数のフォルダを組み合わせ、OR, NOT などを使った複雑なフィルタリングもできます。次のサンプルは、Family または Pets フォルダに含まれるウェブページをフィルタリングします。

<mt:Pages folders="Family OR Pets">

また、次のサンプルは、Family フォルダ以外のフォルダに含まれるウェブページ (どのフォルダにも含まれないウェブページも含む) にフィルタリングします。

<mt:Pages folders="NOT Family">
no_folder="0 | 1"

値が 1 の場合はフォルダに属さない、トップレベルに作成されたウェブページのみを表示します。値が 0 の場合は no_folder モディファイアを設定しないのと同じです。初期値は 0 です。

include_subfolders="1 | 0"

もし、folder または folders モディファイアで設定したフォルダの、すべての子フォルダに含まれるウェブページにフィルタリングしたいときは、値に 1 を設定します。初期値は 0 です。

tag="tag_foo", tags="tag_foo AND tag_bar"

このモディファイアは、対象がウェブページに設定するタグという点以外は folder, folders モディファイアと同じ働きをします。ANDOR, NOT などの演算子にも使えるので、複雑なフィルタリングにも対応します。

author="author_user_name"

ウェブページを特定のユーザーが投稿したものにフィルタリングします。設定するのは、ユーザーのサインインに使用されるアカウント名 (ユーザー名)です。次のサンプルは、ユーザー名が Melody のユーザーが投稿したウェブページにフィルタリングします。

<mt:Pages author="Melody">
id="page_id"

このモディファイアは、単一のウェブページにフィルタリングしたいときに使用します。次のサンプルは、ID が 10 のウェブページのみにフィルタリングします。

<mt:Pages id="10">
min_score="score"
max_score="score"
min_rate="rate"
max_rate="rate"
min_count="count"
max_count="count"

ウェブページに付けられたスコアに基づいた、ウェブページのフィルタリング (score, rate, count) をおこないます。各々は namespace モディファイアが必要です。

scored_by="author_user_name"

特定のユーザーがスコアを付けたウェブページだけにフィルタリングできます。設定するのは、ユーザーのサインインに使用されるアカウント名 (ユーザー名)です。

days="N"

現在の日に基いて、ウェブページを指定日数内に投稿されたものに限定して出力します。次のサンプルは、現在の日に基いて、10 日以内に投稿されたのウェブページのみにフィルタリングします。

<mt:Pages days="10">
recently_commented_on="N"

最近コメント投稿されたウェブページのリストの出力に使用します。指定するのは件数で、最近コメント投稿された N 件のウェブページのみにフィルタリングします。次のサンプルは、最近コメント投稿された 10 件のウェブページのみにフィルタリングします。

<mt:Pages recently_commented_on="10">
unique="1 | 0"

このモディファイアを付与すると、その MTPages ブロックタグは、同じテンプレート内で使用した MTPages ブロックタグで出力したウェブページを除いて出力します。初期値は 0 です。

次のサンプルは、ひとつめの MTPages で @featured シークレットタグが付けられたウェブページの最新 3 件にフィルタリングを、ふたつめの MTPages ブロックでは、最新 7 件のウェブページにフィルタリングするようにしています。ふたつめの MTPages ブロックには unique モディファイアが付与されていますので、出力する最新 7 件のウェブページの中には、ひとつめの MTPages ブロックで出力した @featured シークレットタグの付いた、最新 3 件のウェブページは含まれません。

<mt:Pages tag="@featured" lastn="3">
    ...
</mt:Pages>

<mt:Pages lastn="7" unique="1">
    ...
</mt:Pages>
glue="foo"

複数のページに関する情報を並べて表示するときの、区切り文字を設定します。次のサンプルでは、ウェブページの ID を出力し、各々を , (カンマ) で区切ります。

<mt:Pages glue=","><$mt:PageID$></mt:Pages>

サンプルの出力結果はつぎのとおりです。

10,9,8,7,6,5,4,3,2,1
blog_ids="all | children | siblings | ID"
include_blogs="all | children | siblings | ID"
include_with_website="1"
exclude_blogs="ID"

詳しくは、マルチブログ機能が利用できるテンプレートタグを参照してください。

MTPages と関連のあるテンプレートタグ (29)

  • ブログの総ウェブページ数 (公開している) を表示します。複数のブログを運用しているとき、モディファイアを指定すると、複数のブログのウェブページの合計数を表示します。

  • 特定のウェブページで利用しているアイテムの一覧を表示するためのブロックタグです。ウェブページアーカイブか、MTPages ブロックタグの中で利用できます。

  • ウェブページを作成したユーザーの『表示名』を表示します。セキュリティ上の理由により、ユーザー設定で『表示名』の設定が無い場合、何も表示されません。

  • ウェブページを作成したユーザーのメールアドレスを表示します。

    Movable Type のユーザーのメールアドレスをブログに表示することは、スパムの温床になるため推奨しません。

  • ウェブページを作成したユーザーの『表示名』をリンク付きで表示します。ユーザー情報の編集画面の『ウェブサイト URL』が入力されていれば URL へのリンクが付加されます。『ウェブサイト URL』が入力されていない場合、リンクは付加されません。もし、『ウェブサイト URL』が入力されておらず、且つ、『電子メール』が入力されている場合は、show_email モディファイアを 1 に設定することでメールアドレスへのリンクが付加されます。両方とも入力されていないときは、リンクは付加されません。

  • ウェブページを作成したユーザーの『ウェブサイト URL』を表示します。『ウェブサイト URL』はユーザー作成時やユーザー情報の編集画面で設定します。

  • ウェブページの『出力ファイル名』(ベースネーム)を表示します。

  • ウェブページの本文を表示します。

  • ウェブページ作成画面に追加されたカスタムフィールドの『説明』を表示するファンクションタグです。

    このタグは MTPageCustomFields ブロックタグのコンテキストで使用します。

  • ウェブページ作成画面に追加されたカスタムフィールドの『名前』を表示するファンクションタグです。

    このタグは MTPageCustomFields ブロックタグのコンテキストで使用します。

  • ウェブページに関するカスタムフィールドの情報を表示するためのブロックタグです。ウェブページ作成画面に追加されたすべてのカスタムフィールドの情報を表示します。include モディファイアでは、指定したカスタムフィールドのみを表示します。exclude モディファイアに名前を指定したカスタムフィールドは表示しません。特定のカスタムフィールドだけを表示したいときは、個別のテンプレートタグを使用してください。

  • ウェブページ作成画面に追加されたカスタムフィールドに入力した値を表示するファンクションタグです。

    このタグは MTPageCustomFields ブロックタグのコンテキストで使用します。

  • ウェブページの公開日を表示します。日付に関係するフォーマットや言語に関するモディファイアを指定して表示をカスタマイズできます。

  • ウェブページの『概要』に入力した内容を表示します。概要に記述がないときは、管理画面で指定した文字数だけウェブページの本文を先頭から表示します。

  • ウェブページが属するフォルダに関する情報を取得するためのブロックタグです。

  • ウェブページの ID 番号を表示します。

  • タグがウェブページに設定されているときに囲まれた内容を処理するブロックタグです。tag または name モディファイアでタグ名を指定できます。

  • ウェブページの『キーワード』フィールドに入力した内容を表示します。

  • ウェブページの最終更新日時を表示します。日付に関係するフォーマットや言語に関するモディファイアを指定して表示をカスタマイズできます。

  • ウェブページの『続き』フィールドに入力した内容を表示します。

  • 次のウェブページの内容を表示するためのブロックタグです。

  • 現在のウェブページのアーカイブへの絶対 URL を表示します。

  • ひとつ前のウェブページの内容を表示するためのブロックタグです。

  • ウェブページの一覧を表示するためのブロックタグです。

  • MTPages ブロックタグの中で、最後のページのときだけ実行するブロックタグです。

  • MTPages ブロックタグの中で、最初のウェブページのときだけ実行するブロックタグです。

  • 特定のウェブページに設定されたタグ一覧のためのブロックタグです。ウェブページ作成画面の『タグ』フィールドに入力したタグを表示します。モディファイア glue を使うと、タグの区切り文字を指定できます。

  • ウェブページのタイトルを表示します。

  • ウェブサイトで公開しているウェブページの総数を表示します。配下のブログのウェブページは含みません。複数のウェブサイトを運用しているとき、モディファイアを指定すると、複数のウェブサイトのウェブページの合計数を表示します。