Recent Reaction template ver.3

http://hxxk.jp/2005/02/26/2058

記事データ

投稿者

望月真琴

投稿日時

2005-02-26T20:58+09:00

タグ
概要

Recent Reaction template ver.2 とほぼ同じテンプレートですが、使用するプラグインを別の物に変えることでテンプレートの記述を簡潔にしました。

リプライ

リプライはまだありません。

記事本文

Recent Reaction template ver.3 の概要

Recent Reaction template ver.2 とほぼ同じテンプレートですが、使用するプラグインを別の物に変えることでテンプレートの記述を簡潔にしました。

  1. recently_pinged_on Plugin
  2. 必須プラグイン
  3. テンプレートの作成手順
  4. テンプレートの記述例
  5. サンプル
  6. Recent Comments の解説
  7. Recent Trackbacks の解説
  8. 活用例
  9. 関連リソース
  10. トラックバック送信先

recently_pinged_on Plugin

この際なので随分前に作ったMTEntriesコンテナにrecently_pinged_onというオプションを追加するプラグインも公開しておきます。 recently_commented_onと同様に下のような感じで使えます。

recently_commented_on のトラックバックバージョンだと考えて差し支えありません。 トラックバックを受信した順に記事を並べ、記事ごとにトラックバックを羅列します。

必須プラグイン

これ以外のプラグインは特に必要ありません。 解説は前項と同じなので省略します。

テンプレートの作成手順

スクリーンショットは使い回しですので、ファイル名などの細かい部分が違いますが、大した問題じゃないのでそのままにしています。 適宜読み替えてください。

  1. スクリーンショット テンプレートをクリックします。
  2. スクリーンショット 新しいインデックス・テンプレートを作るをクリックします。
  3. スクリーンショット テンプレートの名前を Recent Reaction template ver.3 にし、出力ファイル名を recent_reaction_3.html にしてください。 ( これらは一例です。 お好きな名前にしていただいて構いません。 また、 Movable Type の使用環境に合わせて、拡張子を適宜 .html や .shtml や .php に変更してください。 ) インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築するにチェックを入れてください。
  4. スクリーンショット テンプレートの中身テンプレートの記述例を参考にして記述します。
  5. スクリーンショット 保存をクリックします。
  6. スクリーンショット このテンプレートを再構築するをクリックして完成。

テンプレートの記述例

最低限の要素と、該当部分だけを記述しています。 スタイルシートやナビゲーションなどは各自追加してください。

<?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"> の値をあまり小さくすると、多くのトラックバックが寄せられる記事の場合は古いトラックバックは表示されなくなることがあります。

活用例

関連リソース

トラックバック送信先

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など