MTの万能プラグイン TagSupplementalsで関連記事出力

MovableType インターネット
記事や記事リストのタグ、最後に追加されたタグなど、ありそうでない機能を補ってくれ...

記事や記事リストのタグ、最後に追加されたタグなど、ありそうでない機能を補ってくれる TagSupplementals プラグイン。

詳細は配布元ページにある通り。当サイトでは関連記事リストで活用している。

記事テンプレート

<mt:Entries> の代わりに、<mt:RelatedEntries> ~ </mt:RelatedEntries>でリストを組む。「weight="idf"」を付与すると、記事に付けたタグ(mt:EntryTag)が出力対象記事の判定に使われる。

基本テンプレートはこんな感じ。

<mt:RelatedEntries lastn="5" weight="idf">
<mt:EntriesHeader>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink>"><mt:EntryTitle></a></li>
<mt:EntriesFooter>
</ul>
</mt:EntriesFooter>
</mt:RelatedEntries>

プラグイン名がそのままMTタグとして使われるケースが多いが、これは違う名前になっているため、プラグインフォルダに入っていると未使用かと削除したくなったり、テンプレートに記述した「mt:RelatedEntries」を見て悩んだりという事件が度々発生していたので、記事にしてみた。これでもう忘れないw

代替案

プラグインを使用せず、抽出したタグやカテゴリーからリストを作る方法もある。タグを利用する場合の基本テンプレートはこんな感じ。

<mt:SetVarBlock name="this_pagetag"><mt:EntryTags glue=" OR "><mt:TagName></mt:EntryTags></mt:SetVarBlock>
<mt:SetVarBlock name="this_page"><mt:EntryID></mt:SetVarBlock>
<mt:Entries id="$this_page"></mt:Entries>
 
<mt:Entries tags="$this_pagetag" lastn="5" unique="1">
<mt:EntriesHeader>
<ul>
</mt:EntriesHeader>
<li><a href="<mt:EntryPermalink>"><mt:EntryTitle></a></li>
<mt:EntriesFooter>
</ul>
</mt:EntriesFooter>
</mt:Entries>

当サイトの場合は一記事に概ね四つ以上のタグを設定しており、タグを「AND」で絞り込むと範囲が狭まり該当記事ゼロが続出してしまうので、「OR」にしてある。関連記事5つを出力する際、表示するページを「this_page」で空出力し、モディファイア「unique="1"」で除外。

00915.png

出力結果をきちんと見比べたわけではないが、プラグイン使用だと「AND」を優先、5つに満たなければ「OR」から補完、というイメージ。

posted on January 27, 2022
-

related entries