記事本文
Recent Reaction template ver.3 の概要
Recent Reaction template ver.2 とほぼ同じテンプレートですが、使用するプラグインを別の物に変えることでテンプレートの記述を簡潔にしました。
recently_pinged_on Plugin
この際なので随分前に作ったMTEntriesコンテナにrecently_pinged_onというオプションを追加するプラグインも公開しておきます。 recently_commented_onと同様に下のような感じで使えます。
recently_commented_on のトラックバックバージョンだと考えて差し支えありません。 トラックバックを受信した順に記事を並べ、記事ごとにトラックバックを羅列します。
テンプレートの作成手順
スクリーンショットは使い回しですので、ファイル名などの細かい部分が違いますが、大した問題じゃないのでそのままにしています。 適宜読み替えてください。
-
テンプレートをクリックします。
-
新しいインデックス・テンプレートを作るをクリックします。
-
テンプレートの名前を Recent Reaction template ver.3 にし、出力ファイル名を recent_reaction_3.html にしてください。
( これらは一例です。
お好きな名前にしていただいて構いません。
また、 Movable Type の使用環境に合わせて、拡張子を適宜 .html や .shtml や .php に変更してください。 )
インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築するにチェックを入れてください。
-
テンプレートの中身をテンプレートの記述例を参考にして記述します。
-
保存をクリックします。
-
このテンプレートを再構築するをクリックして完成。
テンプレートの記述例
最低限の要素と、該当部分だけを記述しています。 スタイルシートやナビゲーションなどは各自追加してください。
<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html;charset=<$MTPublishCharset$>" />
<title><$MTBlogName$> - Recent Reaction ver.3</title>
</head>
<body>
<h1><$MTBlogName$> - Recent Reaction ver.3</h1>
<h2>Recent Comments</h2>
<dl>
<MTEntries recently_commented_on="1000">
<dt><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></dt>
<dd>
<ol>
<MTComments sort_order="descend">
<li>c<$MTCommentID$> - <a href="<MTCommentEntry><$MTEntryLink$></MTCommentEntry>#c<$MTCommentID$>"><$MTCommentDate format="%Y/%m/%d %H:%M"$></a> : <$MTCommentAuthor$></li>
</MTComments>
</ol>
</dd>
</MTEntries>
</dl>
<h2>Recent Trackbacks</h2>
<dl>
<MTEntries recently_pinged_on="1000">
<dt><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></dt>
<dd>
<ol>
<MTPings lastn="1000">
<li>p<$MTPingID$> - <a href="<$MTEntryLink$>#p<$MTPingID$>"><$MTPingDate format="%Y/%m/%d %H:%M"$></a> : <a href="<$MTPingURL encode_xml="1"$>" rel="nofollow"><$MTPingBlogName$> - <$MTPingTitle$></a></li>
</MTPings>
</ol>
</dd>
</MTEntries>
</dl>
<p>
Powered by <a href="http://www.movabletype.org">Movable Type <$MTVersion$></a>
</p>
</body>
</html>
サンプル
これはサンプルなので、 2005-02-26T20:30:48+09:00 時点のコメントやトラックバックで作成しており、自動での再構築はしないようにしています。 必ずしも最新のコメントが反映されているとは限りません。
Recent Comments の解説
hxxk.jp - Recent Reaction ver.3 の Recent Commnets の欄を見ればお分かりになると思いますが、記事ごとに投稿されたコメントをまとめて、かつコメント投稿日時が最も新しいものを子に持つ記事が一番上に来るようになっています。 これは <MTEntries> タグの属性として recently_commented_on を指定することで実現しています。
サンプルではこの値に 1000 を指定していますが、これはコメントが投稿された記事を最大 1000 件表示し、コメントの投稿日時がより新しいものを子に持つものを順に並べるという結果を得ることができます。 サイドバーなどに用いる場合は適宜この値を減らしてください。
Recent Trackbacks の解説
基本的には Ogawa::Memoranda: recently_pinged_on Plugin の記述を参考にしています。 ただ、あちらの記述では dt 要素に対して dd 要素を複数並べているのに対し、一つの記事に対するトラックバックは一つの dd 要素にまとめ、その中で ol 要素を使って羅列しています。
サンプルでは
<MTEntries recently_pinged_on="1000">
および
<MTPings lastn="1000">
のように指定していますが、これはトラックバックが送信された記事を最大 1000 件表示し、さらに記事ごとに最大 1000 件のトラックバックを表示するという結果を得ることができます。
サイドバーなどに用いる場合は適宜この値を減らしてください。
ちなみに、
<MTPings lastn="n">
の値をあまり小さくすると、多くのトラックバックが寄せられる記事の場合は古いトラックバックは表示されなくなることがあります。
活用例
- 独立したテンプレートとして使用するのでなく、ソースの一部分を各種テンプレートに組み込み
- コメントやトラックバックの管理に

