エントリーの関連付けを行うプラグイン・MT3.2以降用改良版(その3)

2006年12月11日 MTEntryIfRelatedEntriesタグを追加しました。

エントリーの関連付けを行うプラグインの第3回として、関連するエントリーをBlogに出力する方法を解説します。

1.MTEntryRelatedEntriesタグ

このプラグインをインストールすると、MTEntryRelatedEntriesというタグが追加されます。
このタグは、あるエントリーに関連付けられているエントリーを順次出力するコンテナタグです。
エントリーアーカイブテンプレートの中か、MTEntriesタグのコンテナの中で使用します。

通常は、同一Blog内の関連するエントリーだけを出力します。
「force="1"」のアトリビュートを付加すると、他Blogの関連するエントリーも出力します。
また、MTBlogsタグのコンテナの中にMTEntryRelatedEntriesタグのコンテナを入れると、Blogごとに関連するエントリーをまとめて出力することができます。この場合は、「force="1"」は付加しません。

なお、エントリーの出力順は日付順です。
新/旧のどちらから順に出力するかは、標準ではBlogの設定に従います。
強制的に新しいエントリーから順に出力する場合は、「sort_order="descend"」のアトリビュートを付加します。
また、古いエントリーから順に出力する場合は、「sort_order="ascend"」のアトリビュートを付加します。

2006年6月14日
sort_byアトリビュートを指定する機能を追加しました。
指定方法は、MTEntriesタグのsort_byと同じです。

2.MTEntryRelatedEntriesCountタグ

あるエントリーに関連付けられているエントリーの個数を出力するタグです。
通常は、同一Blog内の関連するエントリーの数だけを出力します。
「force="1"」のアトリビュートを付加すると、他Blogの関連するエントリーの数も合計した値が出力されます。
また、MTBlogsタグのコンテナの中で使うと、個々のBlogごとに関連するエントリーの個数を出力することができます。この場合は、「force="1"」は付加しません。

3.MTEntryIfRelatedEntriesタグ

あるエントリーに関連付けられているエントリーがあるかどうかを判断する条件タグです。
通常は、同一Blog内に関連するエントリーがあるかどうかを判断します。
「force="1"」のアトリビュートを付加すると、他Blogにも関連するエントリーがあるかどうかが判断されます。
また、MTBlogsタグのコンテナの中で使うと、個々のBlogごとに関連するエントリーがあるかどうかを判断することができます。この場合は、「force="1"」は付加しません。

4.MTEntryRelatedEntryBlogタグ

関連するエントリーが属するBlogを出力するためのコンテナタグです。
MTEntryRelatedEntriesタグに「force="1"」のアトリビュートを付加する際に、関連するエントリーごとに、その属するBlogの情報を出力するために使います。

5.同一Blogの関連するエントリーを出力する例

同一Blogの関連するエントリーの一覧を出力するには、以下のようにタグを組むと良いでしょう。

<MTEntryIfRelatedEntries>
<p>関連する記事:<$MTEntryRelatedEntriesCount$>件</p>
<ul>
<MTEntryRelatedEntries>
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>(<$MTEntryDate format="%Y年%m月%d日 %H時%M分"$>)</li>
</MTEntryRelatedEntries>
</ul>
</MTEntryIfRelatedEntries>

6.他Blogの関連するエントリーも出力する例

他Blogの関連するエントリーも合わせて出力するには、以下のようにタグを組むと良いでしょう。
エントリーの日付の前に、そのエントリーが属するBlogの名前も出力するようにしています。

<MTEntryIfRelatedEntries force="1">
<p>関連する記事:<$MTEntryRelatedEntriesCount force="1"$>件</p>
<ul>
<MTEntryRelatedEntries force="1">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>(<MTEntryRelatedEntryBlog><MTBlogName></MTEntryRelatedEntryBlog>,<$MTEntryDate format="%Y年%m月%d日 %H時%M分"$>)</li>
</MTEntryRelatedEntries>
</ul>
</MTEntryIfRelatedEntries>

7.Blogごとに関連するエントリーをまとめて出力する例

Blogごとに関連するエントリーもまとめて出力するには、以下のようにタグを組むと良いでしょう。

<MTEntryIfRelatedEntries force="1">
<p>関連する記事</p>
<MTBlogs>
<MTEntryIfRelatedEntries>
<p><a href="<$MTBlogURL$>"><$MTBlogName$></a>内の関連する記事:<$MTEntryRelatedEntriesCount$>件</p>
<ul>
<MTEntryRelatedEntries>
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>(<$MTEntryDate format="%Y年%m月%d日 %H時%M分"$>)</li>
</MTEntryRelatedEntries>
</ul>
</MTEntryIfRelatedEntries>
</MTBlogs>
</MTEntryIfRelatedEntries>