MTで記事一覧に関連エントリーを表示させたい
みなさん、こんにちは、まーしーです。
初の裁判員制度がスタートとか。歴史的な1日でしたね。
ブログとかで関連エントリーを表示させることがあるかと思います。
同じカテゴリーに属するエントリーだったり、同じタグがつけられたエントリーだったり。
プラグインなどを使用する方法などもありますね。
Yahoo!の日本語形態素解析APIを利用したプラグインなどもありますね。
記事一覧のリストに関連エントリーを
今回はプラグインを使わずに関連エントリーを出す場合。
mt:Entries category="hogehoge"
とやれば特定のカテゴリ「hogehoge」の記事一覧を出すことが可能ですが、mt:Entriesのなかでまたmt:Entriesをつかってエントリー一覧を表示させることは出来ないんですね。
なのでmt:Entriesを使わずに、mt:ArchiveListでarchive_type="Individual"を使用してみます。
とりあえずのソースはこんな感じでしょうか。
- <$MTEntryTitle$>
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="++">とやっておく必要がありますね。
他にもうまいやりかたがいくらでもあるかとは思いますが、何かやりたいことの参考になればと幸いです。