印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableTypePlugin recently_pinged の作り方

MTEntries には,コメント関連の属性 recently_commented_on があるのに,トラックバックに関するこれと同じような働きをする属性がない。プラグインの導入でできることが分かった。半年くらいの悩みが解決した。BoundlessOcean さんに感謝したい。

■ ■ ■

MTEntries には,新しくコメントがついたエントリを表示するための属性 recently_commented_on がある。しかし,新しくトラックバックされたエントリを表示するための属性がない。恐らく recently_pinged のような名前になると思われる。recently_commented_on は MTPath/lib/MT/Template/Context.pm にあるので,Context.pm をハックすればできるのかと思ってやってみたのだが,再構築でエラーが出てしまう。

半年くらい悩んで,やっと解決方法が見つかった。MTEntries を改造するというのではなく,プラグインを入れて MTEntries のような働きをさせるという方法である。使うのは MTTrackbackRanking プラグイン。記事をトラックバック数の順序で並べ替えて,ランキング表を作ってくれる。この機能のままでも十分に楽しいのだが,念願の recently_pinged のためにハックさせてもらう。

やり方は簡単で,ランキング用の並べ替えをしなくするだけである。プラグインのソース mt-trackback.pl を編集して,赤色部分を追加する(コメントアウトと1行追加)。

#    my @sc = $args->{'direction'} eq 'asc'?
#        sort { MT::Entry->load($a->entry_id)->ping_count <=> MT::Entry->load($b->entry_id)->ping_count } @tb_list :
#        sort { MT::Entry->load($b->entry_id)->ping_count <=> MT::Entry->load($a->entry_id)->ping_count } @tb_list;
    my @sc = @tb_list;

これを使ってトラックバック一覧を作った。プラグインを「これでもか」というほど使いまくった,偏執狂的トラックバック一覧 nlog(n) - All Trackbacks である。コメント一覧 nlog(n) - All Comments と対になるものができた。テンプレート用のソースは近日公開予定(できるのか?)。

MTTrackbackRanking プラグインを導入すると,全トラックバック数も表示できるようになる。オリジナルの Movable Type にもともとあってもよさそうなタグである。

2004年12月9日追記:
Ogawa::Memoranda: 最近のトラックバックをエントリごとにまとめて表示 に別解があるのを見つけました。MT Extensions: MTCollate 1.1 プラグインMTPingEntry プラグイン が必要です。

2005年1月27日追記:
トラックバック をいただいた The blog of H.Fujimoto: 最近トラックバックがあったエントリーを一覧表示するMTEntriesRecentlyPingedプラグイン では,recently_pinged 専用のプラグインが公開されています。

Posted by n at 2004-12-01 01:18 | Edit | Comments (0) | Trackback(3)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
最近のトラックバックをエントリごとにまとめて表示
最近のコメントをエントリごとにまとめて表示するのは、MTEntriesのrecently_commented_onオプションを使うことで簡単に実現できるのですが、トラックバックだとそうはいきません。このエントリでは、最近のトラックバックをエントリごとにまとめて表示する方法を説明しま... Trackbacked from: Ogawa::Memoranda at December 09, 2004 12:30
最近トラックバックがあったエントリーを一覧表示する
Movable TypeのMTEntriesタグでは、最近コメントがあったエント... Trackbacked from: The blog of H.Fujimoto at January 23, 2005 01:04
MTTrackbackRanking
先のエントリで書いたのですが、トラックバックランキングのプラグインを紹介します。... Trackbacked from: BoundlessOcean at April 19, 2005 23:11
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?