t-hoso.net

【MT5】関連記事をつけてみた

Webデザイン

関連記事

ブログは、半分自分の日記としてつけているところがあるので、あるエントリーを書いたりすると「あ、これ前にも似たようなことがあったなー、いつだっけ?」と過去記事を検索することもしばしば。

で、他のブログやCMSサイトを見ていると、エントリーの下に「関連記事」が出ていていたりしてるのを見て、「これだ!」と。

このブログはMovable Typeで運用していますが、MTなら何か簡単にできるプラグインがあるでしょ?と探してみました。

ところが、あまり見つからない...いや、正確にはあるんですけどMT3とかMT4とか。

まぁ、それでも動くかもしれないんですけどちょっと不安。

その中でもいくつかプラグインを見つけて導入してみました。

そしたら、大変。。。

導入自体はできるですけど、いざテンプレートをいじって再構築しようとすると、全然進まないっ!

特にこのブログは、長いことやっていて記事数が多いんですね(現時点で3800件オーバー)

なので、それひとつひとつに関連記事を追加していく再構築作業が負担がかかりすぎるようで...

で、いろいろ「試して」→「ダメ」を繰り返し、最終的に以下のコードに落ち着きました。

プラグインを使わない方法と、取り出した記事リストをシャッフルするプラグインを組み合わせています。

<div class="relatedentries">
<h4>この記事と関連ありそうなエントリー</h4>
<ul>
<MTRandomize lastn="10">
<MTEntries lastn="0" categories="$catList">
<MTSetVarBlock name="relatedTitle"><$MTEntryTitle$></MTSetVarBlock>
<MTIf name="relatedTitle" ne="$baseTitle">
<li><a href="<$MTEntryLink$>"><$MTEntryTitle$></a> [<$MTEntryDate format="%x"$>]</li>
</MTIf>
<$MTRandomizeSeparator$>
</MTEntries>
</MTRandomize>
</ul>
</div>

ただ、記事をシャッフルするのに、同カテゴリーの記事を全部引っ張り出してからシャッフルし、そのうちの10件を戻す、という処理の流れになるため、ブログ記事1件ごとにこの処理をさせると、やっぱりページ別再構築が進まずエラーになるため、ブログ記事単体では、シャッフル処理を外しました。

インデックスは、シャッフルした方が面白そうだったので、インデックスだけ新しい記事を投稿するごとに一覧がシャッフルされて再作成されるようになりました。

あと気が付いたのが、ブログを書いていてカテゴリを迷ったときにはとりあえず「日記」にする、ということをしていたせいで、日記のカテゴリを選んだ時の投稿や修正がめちゃくちゃ時間がかかったりエラーが出るようになってしまいました。

これは、なるべくカテゴリを細分化することで対応。

カテゴリがめちゃくちゃなので、一度きれいに見直す必要がありそうなんですよねぇ...

ま、何はともあれ無事についてよかったです。

今回参考にさせていただいたサイト

http://colo-ri.jp/develop/2008/03/movabletypegigazine.html

http://www.magicvox.net/archive/2011/01231706/