Movable Typeのトラックバックにパラメータをつける
Movable Typeのエントリに対してトラックバックが送信されたときに起動するcgiはmt-tb.cgiである。実際にはMT::App::Trackback.pmが処理している。これを読んでみた。
sub _get_params { my $app = shift; my($tb_id, $pass); if ($tb_id = $app->param('tb_id')) { $pass = $app->param('pass'); } else { if (my $pi = $app->path_info) { $pi =~ s!^/!!; my $tbscript = $app->config('TrackbackScript'); $pi =~ s!.*\Q$tbscript\E/!!; ($tb_id, $pass) = split /\//, $pi; } } ($tb_id, $pass); }
これがトラックバックのパラメータを分解しているメソッド。これを呼び出しているのはpingメソッド内で,2つのコールバック関数(TBPingThrottleFilterとTBPingFilter)は_get_paramsが呼ばれた後に呼び出されている。したがって,コールバックで何かしようとするのは無理。
となるとTrackback.pmをサブクラシングするのが早いかな。やってみよう。
このへんを調べるのに大変に役に立った本がコレ。MTのDBの構成,MTのcgiの動作,プラグインの作り方など,ためになるお話が一杯でした。
Hacking Movable Type (ExtremeTech)
- 作者: Jay Allen,Brad Choate,Ben Hammersley,Matthew Haughey,Ben Trott,Mena Trott
- 出版社/メーカー: Wiley
- 発売日: 2005/07/22
- メディア: ペーパーバック
- この商品を含むブログ (2件) を見る