MTPages
ウェブページの一覧を表示するためのブロックタグです。
- 使い方
<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"
-
指定した数のウェブページを表示します。N は 0 より大きな数値にしてください。
- limit="N"
-
lastn
モディファイアがウェブページの公開日順に指定件数表示するのに対し、limit
モディファイアは、指定された条件でフィルタリングした結果を指定数だけ表示します。詳しくは、lastn モディファイアと limit モディファイアの違いを参照してください。値に auto を指定した場合、Movable Type の管理画面内で設定した表示件数、または、日数分で出力します。
- sort_by="foo"
-
ウェブページを並び替える対象を指定します。
- authored_on (公開日・初期値)
- author_id (作成ユーザー ID)
- basename (出力ファイル名)
- created_on (作成日)
- excerpt (概要)
- title (ウェブページのタイトル)
- comment_count (コメントの件数)
- ping_count (トラックバックの件数)
- 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"
-
カスタムフィールドの値 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
モディファイアと同じ働きをします。AND
やOR
,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"
-
詳しくは、マルチブログ機能が利用できるテンプレートタグを参照してください。