Movable Type 備忘録

 エントリ・タグを使って関連するエントリ一覧を表示

  • Jun052008
  • Vote:
    http://bizcaz.com/archives/2008/06/05-000035.php
  • Categories: Tips
  • Tags: ,
  • Social Bookmark

こんばんわ^^

今回はプラグインを使わずに、エントリ・タグを使って関連するエントリ一覧を表示してみます。
ソースは以下の通りです。

  1. <mt:SetVarBlock name="entid"><$MTEntryID$></mt:SetVarBlock>
  2. <mt:SetVarBlock name="enttags"><MTEntryTags glue=" OR "><$MTTagName$></MTEntryTags></mt:SetVarBlock>
  3.  
  4. <h3>関連するエントリ</h3>
  5. <MTEntries tags="$enttags" lastn="6">
  6.     <MTEntriesHeader><ul></MTEntriesHeader>
  7.  
  8.     <mt:SetVarBlock name="cur"><$MTEntryID$></mt:SetVarBlock>
  9.     <mt:If name="entid" ne="$cur">
  10.     <li><a href="<MTEntryPermalink>"><$MTEntryTitle$></a></li>
  11.     </mt:If>
  12.  
  13.     <MTEntriesFooter></ul></MTEntriesFooter>
  14. </MTEntries>

上記ソースはエントリテンプレート内の関連するエントリ一覧を表示したい場所に埋め込みます。

  1. まず、エントリ ID とエントリに追加したエントリ・タグを変数 $entid、$enttags にそれぞれセットします。
    その際、変数 $enttags には、エントリ・タグを glue モディファイアを使ってエントリ・タグを「 OR 」で連結した文字列をセットします。たとえば以下のようなかんじの文字列になります。

    1. 4.1 OR Tips OR Customize
  2. MTEntries ブロックタグに tags モディファイアを使って変数 $enttags で指定されたエントリ・タグが付けられた最新のエントリ 6 件分を抽出します。

  3. MTIf 条件タグでは、MTEntries ブロックタグで抽出されたエントリ内に自身のエントリも含まれてしまうので、自身のエントリを除外するためにエントリ ID をチェックしてます。
    なので、実際に表示される件数は最大 5 件となります。

以上です。
そうすると、以下のような表示がされます。

関連するエントリ

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード