という事で、個別の記事を開いた時に「関連してそうなエントリー(記事)リスト」がずらっと出るようになりました。
同じタグを持つ記事が表示されるようです。
てっきりプラグインが必要なんだと思い込んでしまってRelated Entries Plugin入れたりして色々やってましたが、どうもMT4.1に対応してないのか思うように動いてくれなかったり、一つ一つの記事に手動での関連付けが必要だったりでちょっとイマイチでした。
んで、MovableTypeのタグリファレンスとか見てると、どうもMT4.1ならプラグイン無しでいけそうだったんですよね。
エントリーのタグを呼び出して、それと合致するエントリーのリストを表示して・・・みたいな?
ということでしばらく「えーっとまずエントリーのタグを・・・」と悩んでおりましたが、頭がパーンしそうだったので自力は断念。
「誰か賢い人がコードを公開してくれてないかなぁ」と思ってぐぐってみられたら、ずばりな方がいらっしゃいました。
MT4.1:エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示・改良版)
エントリひとつにタグが複数あってもOK。テストは不十分だが。とりあえず「現在のエントリと同じタグを持つエントリ」を20件ほど取り出してみる仕様である。
で、表示形式とか件数とかをいじってこんな感じでテンプレートのブログ記事に挿入
<!--追加ここからRelatedEntries自動-->
<MTSetvar name="EntCnt" value="0">
<MTSetVarBlock name="CurEnt"><MTEntryTitle></MTSetVarBlock>
<MTSetVarBlock name="TagStrings"><MTEntryTags glue=","><MTTagName></MTEntryTags></MTSetVarBlock>
<h2 class="trackbacks-header">この記事に関連してそうな記事※試験中</h2>
<blockquote><ul>
<MTEntries tag="$EntTags">
<MTSetVarBlock name="LopEnt"><MTEntryTitle></MTSetVarBlock>
<MTSetVar name="Find" value="0">
<MTEntryTags>
<MTSetVarBlock name="tmpTagName"><MTTagName></MTSetVarBlock>
<MTIf name="TagStrings" like="$tmpTagName">
<MTSetVar name="Find" value="1">
</MTIf>
</MTEntryTags>
<MTIf name="Find" eq="1">
<MTSetVar name="EntCnt" op="inc">
<MTIf name="EntCnt" le="6">
<MTIf name="LopEnt" ne="$CurEnt">
<li><p><a href="<MTEntryLink>"><MTEntryTitle></a> - <$MTEntryDate format="%Y年%m月%d日"$></p></li>
<MTElse>
<li><p><a href="<MTEntryLink>"><MTEntryTitle></a> - <$MTEntryDate format="%Y年%m月%d日"$></p></li>
</MTIf>
</MTIf>
</MTIf>
</MTEntries>
</ul></blockquote>
<!--追加ここまでRelatedEntries自動-->
これであとはそれっぽいタグを記事に追加しておくだけでok
やぁ、素晴らしい、素晴らしい。 これでわざわざ古い記事に対してトラックバック送ったり、新しい記事に対してリンク貼ったりしなくてすむ。
まぁどのみち古い記事にタグを追加するという作業が必要なんですが(今までほとんどタグをつけてこなかったので)、そのへんは一覧からアクションでザザッとできたりするのでそこまで大きな問題ではない。

コメントする