linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

MTで記事一覧に関連エントリーを表示させたい

090803.gif

みなさん、こんにちは、まーしーです。
初の裁判員制度がスタートとか。歴史的な1日でしたね。    

ブログとかで関連エントリーを表示させることがあるかと思います。
同じカテゴリーに属するエントリーだったり、同じタグがつけられたエントリーだったり。
プラグインなどを使用する方法などもありますね。
Yahoo!の日本語形態素解析APIを利用したプラグインなどもありますね。

記事一覧のリストに関連エントリーを

今回はプラグインを使わずに関連エントリーを出す場合。

090803-01.gif

mt:Entries category="hogehoge"

とやれば特定のカテゴリ「hogehoge」の記事一覧を出すことが可能ですが、mt:Entriesのなかでまたmt:Entriesをつかってエントリー一覧を表示させることは出来ないんですね。

なのでmt:Entriesを使わずに、mt:ArchiveListでarchive_type="Individual"を使用してみます。
とりあえずのソースはこんな感じでしょうか。


2行目の<MTSetvar name="catlistcount" value="0">で表示件数用のcatlistcountをとりあえず初期化しておき、<mt:SetVarBlock name="thiscat"><$MTEntryCategory$></mt:SetVarBlock>で記事のカテゴリーをthiscatに、<MTSetVarBlock name="currententryid"><$MTEntryID$></MTSetVarBlock>で記事のIDをcurrententryidに入れておきます。

<mt:ArchiveList archive_type="Individual">

</mt:ArchiveList>

の部分でブログ記事の一覧を出します。

<mt:If tag="entrycategory" eq="$thiscat">で当該記事と同じカテゴリーの場合は表示させます。
当該記事は除くので<mt:If tag="entryid" ne="$currententryid"> として分けておきます。

何件表示させるか?を調整しないといけないので<mt:SetVar name="catlistcount" op="++">とやっておく必要がありますね。

他にもうまいやりかたがいくらでもあるかとは思いますが、何かやりたいことの参考になればと幸いです。