デジタリストBlog

« 前の記事 | トップ | 次の記事 »

2008年10月04日

MovableType 3.3系でダイナミックパブリッシングの「次の記事」がおかしい

MovableType 3.3系のダイナミックパブリッシングを使うと、おのおのの indivisual.html で「次の記事」がおかしい挙動を示すようになる。具体的には、どの記事からの「次の記事」のリンクも最新の記事のパーマリンクを指し示すようになってしまう。MTEntryNext と MTArchiveNext の挙動がおかしいと言うことになるのだが、これを修正したい。

これは、/mt/php/lib/mtdb_base.php のバグが原因である。MovableType 3.2 では修正されていたはずの昔の MTEntryNext と MTArchiveNext タグに関するバグが、3.3系になって再び出てきたものだ。以来、MovableType 3.3系はたびたびのバグフィックスを出しているが、この mtdb_base.php の異常は MovableType 3.37 まで修正されずにいる。SixApart 社の意識は完全に MovableType 4.2系に向いているから、3.37 以後の MovableType 3.3系はもうリリースされないだろう。このバグは自分で直すしかないようだ。

mtdb_base.php をテキストエディタで開いて、536行目と537行目に必要な記述を追加しよう。

if (count($filters)) { $post_select_limit = $limit; $post_select_offset = $offset; $limit = 0; $offset = 0; }

$sql = "

536行目付近は上記のようになっているはずだが、これを下記のように修正する。赤字フォントの部分を追記してやると良い。

if (count($filters)) { $post_select_limit = $limit; $post_select_offset = $offset; $limit = 0; $offset = 0; }

if ($args['sort_order']) {
if ($args['sort_order'] == 'ascend') {
$order = 'asc';
} elseif ($args['sort_order'] == 'descend') {
$order = 'desc';
}
}

$sort_field or $sort_field = 'entry_created_on';
$sql = "

関連サイト
- WingMemo: MT3.32にはダイナミックで重大なバグあり & 修正方法

Posted at 2008/10/04(土曜日) 7:26

この記事を読んだ人はこんな記事も読んでいます

コメント





保存しますか?


Loading...

« 前の記事 | トップ | 次の記事 »

« 前の記事 | トップ | 次の記事 »