こちらで紹介されているテンプレートタグの追加で
「個別アーカイブにトラックバック内容を表示させる。」
ってのは出来るんですけど、引用文のとこにあるように
『トラックバック表示がPermalinkに反映されるタイミングは、
トラックバックを受けた後でそのエントリーにコメントを受けるなどしてリビルドされたときになります。』
ということで、
標準機能では、トラックバックを受けただけで
動的に個別アーカイブへの内容の反映は出来ません。
(MAIN INDEXへの反映はデフォルト機能で自動に行われています。)
どうせならトラックバック受けたら自動で個別アーカイブの更新までしてくれれば、
個別アーカイブからわざわざCGI出力表示(mt-tb.cgi)で受けたトラックバック内容の確認とかしなくていいし、
個別アーカイブを見るだけでそのエントリーに投稿された
コメント、トラックバックをまとめて閲覧できて、お便利!
ってことで、トラックバック着弾モジュールを改造してみました。
改造する対象モジュールは、
package MT::App::Trackback;
このモジュールの208行目付近を見てもらうと
$app->rebuild_indexes( Blog => $blog )
or return $app->_response(Error =>
$app->translate("Rebuild failed: [_1]", $app->errstr));
っていうソース記述があると思うんですけど、
ここがMAIN INDEXをリビルドしている部分にあたります。
(前述のようにMAIN INDEXはデフォルトで自動リビルドしてくれてます。)
それで、今回は、MAIN INDEXのリビルドと同じように、
個別アーカイブのリビルドも追加してみましょうって話です。
実際に追加するソースは
or return $app->_response(Error =>
$app->translate("Rebuild failed: [_1]", $app->errstr));
これをさっきのソースの後にでも追加してあげればOKです。
たったこれだけ!
このソースの追加を行うだけで、
トラックバック着信時に自動で個別アーカイブにその内容が反映されているようになります。
別にデフォルト指定のままのCGI出力でも何ら問題無いんですけど、
なんとなく無駄なCGI動作とか無くしたかったのと、
個別アーカイブのHTML見るだけで言及されている投稿が
「一覧で、かつ、リアルタイムに!」
更新されたらいいなあと思っただけの改造でした。
こんな改造、『完全に趣味のレベル』だと思うので
あんまりお役に立てないかもしれませんな。。トホホ
うわ、エントリー書いてから気が付いた。
思いっきり既出じゃん。。。
http://www-kasm.nii.ac.jp/~numa/mt/archives/000113.html
ショボリーン。。。。
>加野瀬さん
このエントリー書き終わった後にARTIFACT見に行って既出情報なの知りました。
「これはすげぇテクニック考えた!」
とか思って意気揚々とエントリーしたんですが。。涙
みんな考えることは一緒なんですね。笑
というか、ARTIFACTと同じタイミングで同じような
トラックバックなエントリー書いてたというのに
ちょっとビックリしました。
そんな今日は、「TB記念日」。