MTEntries
記事を一覧するためのブロックタグです。記事アーカイブ以外のテンプレートで記事一覧を表示するときにこのタグを使います。モディファイアを指定することで、特定のカテゴリの記事だけを抜き出したり、指定した数の記事を日付順で一覧することなどができます。
- 使い方
- 実行結果
<mt:Entries lastn="10">
<mt:EntriesHeader>
<div class="hfeed">
<h1>記事</h1>
</mt:EntriesHeader>
<div class="hentry entry" id="entry-<$mt:EntryID$>">
<h2 class="entry-title"><a rel="bookmark" href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></h2>
<ul class="meta">
<li class="published"><abbr title="<$mt:EntryDate format_name="iso8601"$>"><$mt:EntryDate format="%b %d, %Y %H:%M" language="en"$></abbr></li>
<mt:EntryIfTagged>
<li class="tag">
<ul>
<mt:EntryTags>
<li><$mt:TagName$></li>
</mt:EntryTags>
</ul>
</li>
</mt:EntryIfTagged>
</ul>
<div class="entry-content">
<$mt:EntryBody$>
</div>
<address>
<span class="vcard author">Posted by: <a class="url fn" href="<$mt:EntryAuthorURL$>"><$mt:EntryAuthorDisplayName$></a></span>
<span class="updated">Last update: <abbr title="<$mt:EntryModifiedDate format_name="iso8601"$>"><$mt:EntryModifiedDate format="%b %d, %Y %H:%M" language="en"$></abbr></span>
</address>
</div>
<mt:EntriesFooter>
</div>
</mt:EntriesFooter>
</mt:Entries>
モディファイア
- lastn="N"
-
指定した数の記事を表示します。N は 0 より大きな数値にしてください。
- limit="N"
-
lastn
モディファイアが記事の公開日順に指定件数表示するのに対し、limit
モディファイアは、指定された条件でフィルタリングした結果を指定数だけ表示します。詳しくは、lastn モディファイアと limit モディファイアの違いを参照してください。値に auto を指定した場合、Movable Type の管理画面内で設定した表示件数、または、日数分で出力します。
- sort_by="foo"
-
記事を並び替える対象を指定します。
- authored_on (公開日・初期値)
- author_id (作成ユーザー ID)
- basename (出力ファイル名)
- comment_count (コメントの件数)
- created_on (作成日)
- excerpt (概要)
- modified_on (変更日時)
- ping_count (トラックバックの件数)
- text (本文)
- text_more (続き)
- title (記事のタイトル)
- rate (レート)
- score (スコア)
- field:customfieldbasename (カスタムフィールドのベースネーム)
rate, score を指定するときは、
namespace
モディファイアで対象の名前空間を設定する必要があります。カスタムフィールドの値を利用してソートできます。モディファイアの値を field:customfieldbasename のように設定します。customfieldbasename には、カスタムフィールド作成時に設定した [ベースネーム] を指定します。
- sort_order="ascend | descend"
-
並べる順序を指定します。ascend を指定すると昇順 (新しいものが下)、descend は降順 (新しいものが上) です。初期値は descend です。
- field:customfieldbasename="foo"
-
カスタムフィールドの値 foo を利用して出力する記事をフィルタリングできます。モディファイアの
customfieldbasename
には、カスタムフィールド作成時に設定した [ベースネーム] を指定します。例えば表示する記事を、値が 2 だけのものにしたいときは次サンプルのようにします。
<mt:Entries field:product_rank="2"> ... </mt:Entries>
また、次のサンプルは、
special というベースネームのカスタムフィールド (チェックボックスとする) がチェックされている記事を新規作成順に並べ、その先頭から 5 件を表示します。 <mt:Entries 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 以外の名前空間を指定する場合は、独自にプラグインなどでの拡張が必要になります。
- class_type="entry | page"
-
出力対象を指定します。初期値は entry で、記事を出力します。
page を指定した場合、出力対象がウェブページになります。これは MTPages タグと同じ働きをします。
- offset="N"
-
指定した数の記事を除外して表示します。値に 5 を指定すると、最新 5 件の記事を除外してリスト表示します。
lastn
モディファイアと組み合わせて使ってください。 - category="category_foo", categories="category_foo"
-
このモディファイアでは、記事を特定のカテゴリに属するものだけにフィルタリングできます。記事に設定したサブカテゴリもフィルタリングの対象になります。
指定する値はカテゴリ名です。(カテゴリのベースネームではありません。)
category="category_foo"、および categories="category_foo" のどちらも、挙動は同じです。1 つのカテゴリをフィルタリングする際に categories="category_foo" と記述が可能ですし、複数カテゴリのフィルタリングをする際に category="category_foo という記述が可能です。
次のサンプルは、ひとつのカテゴリ (サンプルでは Featured カテゴリ)に含まれる記事だけにフィルタリングします。
<mt:Entries category="Featured">
もし、指定したいカテゴリが、別の親カテゴリに含まれる同じ名前の子カテゴリなら、親カテゴリといっしょに指定します。
<mt:Entries category="News/Featured">
または
<mt:Entries category="Projects/Featured">
名前に半角スラッシュ
/
が含まれているカテゴリを指定する場合は[]
で囲みます。<mt:Entries category="[Coffee/Tea]">
複数のカテゴリを組み合わせ、
AND
,OR
,NOT
などを使った複雑なフィルタリングもできます。次のサンプルは、Family または Pets カテゴリと、Featured カテゴリに含まれる (複数のカテゴリに含まれる) 記事にフィルタリングします。<mt:Entries categories="(Family OR Pets) AND Featured">
また、次のサンプルは、Family カテゴリ以外のカテゴリに含まれる記事 (どのカテゴリにも含まれない記事も含む) にフィルタリングします。
<mt:Entries categories="NOT Family">
- include_subcategories="1 | 0"
-
もし、
category
またはcategories
モディファイアで設定したカテゴリの、すべての子カテゴリに含まれる記事にフィルタリングしたいときは、値に 1 を設定します。初期値は 0 です。 - tag="tag_foo", tags="tag_foo AND tag_bar"
-
このモディファイアは、対象が記事に設定するタグという点以外は
category
,categories
モディファイアと同じ働きをします。AND
やOR
,NOT
などの演算子にも使えるので、複雑なフィルタリングにも対応します。 - author="author_user_name"
-
記事を特定のユーザーが投稿したものにフィルタリングします。設定するのは、ユーザーのサインインに使用されるアカウント名 (ユーザー名)です。次のサンプルは、ユーザー名が Melody のユーザーが投稿した記事にフィルタリングします。
<mt:Entries author="Melody">
- id="entry_id"
-
このモディファイアは、単一の記事にフィルタリングしたいときに使用します。対象の記事がほかのサイトにある場合は include_blogs などのモディファイアで該当サイトの ID も併用して指定します。次のサンプルは、ID が 10 の記事のみにフィルタリングします。
<mt:Entries 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:Entries days="10">
- recently_commented_on="N"
-
最近コメント投稿された記事のリストの出力に使用します。指定するのは件数で、最近コメント投稿された N 件の記事のみにフィルタリングします。次のサンプルは、最近コメント投稿された 10 件の記事のみにフィルタリングします。
<mt:Entries recently_commented_on="10">
- unique="1 | 0"
-
このモディファイアを付与すると、その MTEntries ブロックタグは、同じテンプレート内で使用した MTEntries ブロックタグで出力した記事を除いて出力します。初期値は 0 です。
次のサンプルは、ひとつめの MTEntries で @featured シークレットタグが付けられた記事の最新 3 件にフィルタリングを、ふたつめの MTEntries ブロックでは、最新 7 件の記事にフィルタリングするようにしています。ふたつめの MTEntries ブロックには
unique
モディファイアが付与されていますので、出力する最新 7 件の記事の中には、ひとつめの MTEntries ブロックで出力した @featured シークレットタグの付いた、最新 3 件の記事は含まれません。<mt:Entries tag="@featured" lastn="3"> ... </mt:Entries> <mt:Entries lastn="7" unique="1"> ... </mt:Entries>
- glue="foo"
-
複数の記事に関する情報を並べて表示するときの、区切り文字を設定します。次のサンプルでは、記事の ID を出力し、各々を
,
(カンマ) で区切ります。<mt:Entries glue=","><$mt:EntryID$></mt:Entries>
サンプルの出力結果はつぎのとおりです。
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"
-
詳しくは、マルチブログ機能が利用できるテンプレートタグを参照してください。