関連するエントリーを表示する方法

MovableTypeで関連するエントリーを表示する方法です。

プラグインのインストール

基本機能に、この機能はありませんのでプラグインを導入する必要があります。
配布元であるThe blog ob H.Fujimotoより最新版をダウンロードしてきてください。(本エントリー執筆時1_10)

ダウンロードしてきた圧縮ファイルを解凍してフォルダ名を『RelatedEntries』に変更してください。
変更したものをmtディレクトリ内のpluginsディレクトリに入れてください。

mt-related-entries.cgiの属性を適切なもの(大体は755)に変更してください。

MovableTypeの管理画面にログインして、
環境設定>設定>プラグインに移動すると『Related Entriesバージョン 1.10』とういう項目が追加されていると思います。
右メニューの設定を押して『他ブログのエントリーも関連付ける』を押してチェックを入れ、変更を保存します。

すると、エントリーの編集を行う際の右下のコンボボックスにエントリーの関連付けという項目が追加されます。
これを選択するとこれまで投稿したエントリーの一覧とそれに対する関連付け(リンク、被リンク、両方向)を選択できるチェックボックスが表示されます。
関連するエントリーを選択して保存をすれば再構築時に関連するエントリーが書き出される形になります。

テンプレートの編集

エントリーアーカイブテンプレートに以下のテンプレートタグを追加します。
関連エントリー数を表示したい所に

<$MTEntryRelatedEntriesCount$>

関連エントリーを表示したい所に

<MTEntryRelatedEntries>~</MTEntryRelatedEntries>

と記述します。

当ブログの場合、以下のように記述しております。
MovableTypeに記述するコード

<dl class="relentries relentries<$MTEntryRelatedEntriesCount$>">
	<dt>関連するエントリー</dt>
	 <MTEntryRelatedEntries>
	<dd><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>(<$MTEntryDate format="%Y年%m月%d日 %H時%M分"$>)</dd>
	</MTEntryRelatedEntries>
</dl>

当ブログでは<$MTEntryRelatedEntriesCount$>を別の用途で使用しています。
単一の要素に複数のclassを設定する方法を利用してdl要素に複数のclassを設定して基本的にはrelentriesクラスのcssを適用させ、relentries0の場合のみdisplay:noneを反映させdl要素そのものを非表示にしています。
(これは関連するエントリーがあるときのみ関連するエントリーのdl要素を表示する為)

かなり便利なプラグインです。過去のエントリーも大切にできます。

関連エントリー

MTのAtomを2007年に対応させる
グローバル・タグ・アトリビュートでURLエンコードする
Movabletypeエントリー時の注意事項
ムーバブルタイプでGoogleSitemapを使う。
ムーバブルタイプをMySqlで動かす方法

スポンサードリンク

«単一の要素に複数のclassを設定する方法 | メイン | prototype.jsを使ってみる 2-Event.observe»