MTEntriesタグをテンプレートで複数使う時に記事を重複させない方法

MTEntriesタグをテンプレートで複数使う時に記事を重複させない方法

Posted at July 29,2015 2:22 AM
Tag:[MovableType, MTEntries]

Movable TypeのMTEntriesタグをテンプレートで複数使う時に記事を重複させない方法を紹介します。

1.はじめに

MTEntriesタグで記事一覧を表示するときに、次のようなことをしたいのですが、2つめの方法がわかりません。

  1. タグ「news」を付与した最新5件の投稿記事の記事タイトルと概要を表示
  2. 上記以外の最新5件を記事タイトルのみ表示

たとえば、

テスト1
テスト2
テスト3
●テスト4
●テスト5
テスト6
●テスト7
●テスト8
テスト9
●テスト10

という10記事が投稿されていて(数字の大きい方が投稿日時が新しい)、●がついているものがタグ「news」が設定されている記事で、他はタグが設定されていない記事です。

タグを付与した最新5件を表示するのは次のテンプレートになります。

<mt:Entries tag="news" lastn="5">
  <$mt:EntryTitle$>
</mt:Entries> 

が、その次のテンプレートの作り方が分かりません。

ということで、MTEntriesタグをテンプレートで複数使う時に記事を重複させない方法を紹介します。

2.記事を重複させずに表示する

記事を重複させずに表示するには、2つめのMTEntiresタグに、次のようにuniqueモディファイアを利用します。

<mt:Entries unique="1" lastn="5">
  <$mt:EntryTitle$>
</mt:Entries> 

または

<mt:Entries unique="1" limit="5">
  <$mt:EntryTitle$>
</mt:Entries> 

uniqueモディファイアは同じテンプレート内で使用したMTEntriesタグで出力したブログ記事を除いて出力してくれます。

以前投稿した「MTEntriesタグで指定した数の記事を除外して表示する方法」ではoffsetモディファイアを使用した例を紹介しました。

offsetタグは単純にスキップする記事数を指定するだけの機能ですが、uniqueモディファイアは今回のサンプルのような複雑な条件で威力を発揮します。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)