初コメントを友達のミカさんからもらうまで気付かなかったのだが、
どうやらMTEntryタグでrecently_commented_onが動いていない模様。
ググってみたら、MySQLやPostgreSQL特有の現象らしい。
ファイルの一部を修正すれば動くようなので試してみる。
MTのディレクトリ/lib/MT/Template/Context.pmの
771行目以降を編集します。
編集前
} elsif (my $n = $args->{recently_commented_on}) {
$args{'join'} = [ 'MT::Comment', 'entry_id',
{ blog_id => $blog_id, visible => 1 },
{ 'sort' => 'created_on',
direction => 'descend',
unique => 1,
limit => $n } ];
$no_resort = 1;
}
編集後
} elsif (my $n = $args->{recently_commented_on}) {
$args{'join'} = [ 'MT::Comment', 'entry_id',
{ blog_id => $blog_id }, { unique => 1 } ];
$args{'sort'} = 'created_on';
$args{direction} = 'descend';
$args{limit} = $n;
$no_resort = 1;
}
これで再構築をしたら動くようになった。
結構以前からある不具合のようで、なぜ修正されないのか不思議。
直ったからいいが、ヴァージョンアップの際にまた修正しないといけないかも。
この記事に対するコメント