Movable Type 備忘録

 

 MT3.2+SQLiteでのrecently_commented_onの問題

友人からの教えてもらったことですが、どうやらMovableType3.2-ja-2+SQLiteの組み合わせだと、recently_commented_on の動作がおかしくなるようです。

どんな現象がでるかというと、recently_commented_on はご存知の通り、最近コメントがついたエントリを表示してくれる、MTEntries タグのアトリビュートですが、表示の順番がおかしくなってしまうのだそうです。

各エントリの最新のコメントではなく、最初についたコメントの時刻順にソートされてしまうそうなんです。
ぶっちゃけ、わたしのブログでは確認できませんでした。だって…コメントがないので分からないので (つω-`。)

コメントのついたエントリが表示されないなどといった、致命的な問題ではないのですが、そのような現象が起きてしまって、気に入らない人は以下の対策をすると良いですよ♪

対策

mt/lib/MT/Template/ContextHandlers.pm の884行目を以下のように修正します。
&& MT::ConfigMgr->instance()->ObjectDriver =~ /postgres/) {
↓
&& MT::ConfigMgr->instance()->ObjectDriver =~ /postgres|sqlite/) {

青い時の部分を追加してください。
とりあえず、この修正だけで正しく動作するようになるそうですよ。

ちなみに、MovableType3.2-ja-2では、PostgreSQL というデータベースを使用している場合に限り、recently_commented_on を lastn、days アトリビュートと一緒に使うことにより、指定された範囲のエントリを対象として、最近コメントされたエントリをリストアップすることができます。

バークレーDB、SQLite、MySQL のデータベースを使用している場合は、この組み合わせは無視されます。
何で PostgreSQL だけなんですかね…意味分かりませんね。
技術的に難しいんですかねぇ。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード