PowerCMS™
アルファサードのゴールデンウィーク休業について を追加しました。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] 多要素認証設定画面の QR コードが表示されない問題への対策ファイル を追加しました。
[新着情報] PowerCMSクラウド 月額費用の価格改定に関する追加情報を公開します を追加しました。

MTEntries

MTEntries

ブログの記事の一覧のためのブロックタグです。モディファイアを指定することで、特定のカテゴリの記事だけを抜き出すことや、日付順で指定した数の記事を一覧することができます。記事アーカイブ以外のテンプレートで記事を表示するときは、MTEntries ブロックタグを使います。

使い方

<MTEntries lastn="10">
<MTEntriesHeader>
<div class="hfeed">
    <h1>記事</h1>
</MTEntriesHeader>
    <div class="hentry entry" id="entry-<mt:EntryID>">    
        <h2 class="entry-title"><a rel="bookmark" href="<mt:Var name="permalink">"><$MTEntryTitle encode_html="1"$></a></h2>
        <ul class="meta">
            <li class="published"><abbr title="<mt:EntryDate format_name="iso8601">"><$MTEntryDate format="%b %d, %Y %H:%M" language="en"></abbr></li>
        <MTEntryIfTagged>
            <li class="tag">
                <ul><MTEntryTags>
                    <li><$MTTagName encode_html="1"$></li>
                </MTEntryTags></ul>
            </li>
        </MTEntryIfTagged>
        </ul>
        <div class="entry-content">
            <$MTEntryBody$>
        </div>
        <address> 
            <span class="vcard author">Posted by: <a class="url fn" href="<mt:EntryAuthorURL>"><$MTEntryAuthorDisplayName encode_html="1"$></a></span>&nbsp;
            <span class="updated">Last update: <abbr title="<mt:EntryModifiedDate format_name="iso8601">"><$MTEntryModifiedDate format="%b %d, %Y %H:%M" language="en"$></abbr></span>
        </address>
    </div>
<MTEntriesFooter>
</div>
</MTEntriesFooter>
</MTEntries>

モディファイア

lastn="N"

出力する記事の件数を制限します。lastn モディファイアは、つねに降順 (新しいものから古いものに並ぶ) で処理します。

<MTEntries lastn="5" sort_by="title" sort_order="ascend">

サンプルのように、たとえ sort_by モディファイアでタイトル順、かつ、sort_order モディファイアで ascend (昇順) を指定しても、出力する結果は、最新 5 件の記事です。

これは、recently_commented_on モディファイアを同時に設定しているときも同じです。これらは lastn モディファイアと同時に使用しても効果はありません。

limit="N"

lastn モディファイアが記事の作成日順に指定件数表示するのに対し、limit モディファイアは、指定された条件でフィルタリングした結果を指定数を最大件数として表示します。

値に auto を指定した場合、[ブログの設定] で設定した表示件数または、日数分で出力します。

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 ()

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

もし、Commercial Pack がインストールされているなら、カスタムフィールドの値を利用してソートできます。モディファイアの値を field:customfieldbasename のように設定し、customfieldbasename には、カスタムフィールドの [ベースネーム] を記入します。

sort_order="ascend | descend"

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

field:customfieldbasename="foo"

カスタムフィールドの値が foo に完全一致する記事だけに絞り込みします。モディファイアの customfieldbasename には、カスタムフィールド機能で作成したフィールドの [ベースネーム] を設定します。

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

<MTEntries field:product_rank="2">...</MTEntries>

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

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

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

※ このモディファイアではスニペットフィールドを利用できません。

namespace="foo"

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

Community Pack がインストールされている環境で、トピックや記事のお気に入り登録機能の登録数でソートしたいときは、community_pack_recommend を設定します。

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 カテゴリ)に含まれる記事だけにフィルタリングします。

<MTEntries category="Featured">

もし、指定したいカテゴリが、別の親カテゴリに含まれる同じ名前の子カテゴリなら、親カテゴリといっしょに指定します。

<MTEntries category="News/Featured">

または

<MTEntries category="Projects/Featured">

複数のカテゴリを組み合わせ、AND, OR, NOT などを使った複雑なフィルタリングもできます。次のサンプルは、Family または Pets カテゴリと、Featured カテゴリに含まれる (複数のカテゴリに含まれる) 記事にフィルタリングします。

<MTEntries categories="(Family OR Pets)AND Featured">

また、次のサンプルは、Family カテゴリ以外のカテゴリに含まれる記事 (どのカテゴリにも含まれない記事も含む) にフィルタリングします。

<MTEntries categories="NOT Family">
include_subcategories="0 | 1"

もし、category または categories モディファイアで設定したカテゴリの、全ての子カテゴリに含まれる記事にフィルタリングしたいときは、値に 1 を設定します。初期値は 0 です。

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

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

author="author_user_name"

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

<MTEntries author="Melody">
id="entry_id"

このモディファイアは、単一の記事にフィルタリングしたいときに使用します。次のサンプルは、entry id が 10 の記事のみにフィルタリングします。

<MTEntries 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日以内に投稿されたの記事のみにフィルタリングします。

<MTEntries days="10">
recently_commented_on="N"

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

<MTEntries recently_commented_on="10">
unique="0 | 1"

このモディファイアを付与すると、その MTEntries ブロックは、同じテンプレート内で使用した MTEntries ブロックで出力した記事を除いて出力 します。

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

<MTEntries tag="@featured" lastn="3">    ...</MTEntries>
<MTEntries lastn="7" unique="1">    ...</MTEntries>
glue="foo"

出力される記事と記事の間の文字を設定できます。次のサンプルでは entry ID を出力し、各々を , (カンマ) で区切ります。

<MTEntries glue=","><$MTEntryID$></MTEntries>

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

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"

対象のブログ、ウェブサイトを指定します。

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