エントリーの関連付けを行うプラグイン(MT4専用版・その3)

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

1.MTEntryRelatedEntriesタグ

MTEntryRelatedEntriesタグは、あるエントリーに関連付けられているエントリーを順次出力するブロックタグです。
ブログ記事テンプレート(およびそこにインクルードするテンプレートモジュール)の中か、MTEntriesタグのブロックの中で使用します。

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

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

さらに、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タグ

MT3.x用のプラグインでは、関連するエントリーが属するBlogを出力するためのブロックタグとして、「MTEntryRelatedEntryBlog」というタグがありました。
MT4用のプラグインでも、従来のテンプレートをそのまま使えるように、このタグ自体は残してあります。
ただ、MT4用では、このタグがなくても、MTBlog系のタグで、関連するエントリーが属する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>(<MTBlogName>,<$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>