Movable Type 4.261 でのダイナミックパブリッシングエラーについて

Movable Type 4.261 でのダイナミックパブリッシングエラーについて

Posted at August 21,2009 1:55 AM
Tag:[DynamicPublishing, MovableType, TroubleShooting]

Movable Type 4.261 で、特定のケースでダイナミックパブリッシングが正常に動作しないケースがありました。ご質問を頂きましたので、本エントリーにて情報展開致します。

1.事象

Movable Type 4.261で、新規作成したアーカイブテンプレート(確認したのはブログ記事リストのみ)でダイナミックパブリッシングを行ない、該当のページにアクセスすると、以下のエラーとなります。

ダイナミックパブリッシングエラー

エラーとなるのは新規追加分のみで、以下の場合は正常に動作します。

  • 既存のアーカイブテンプレートのダイナミックパブリッシング
  • 既存のアーカイブテンプレートにアーカイブマッピングを追加した場合(例えば「既定のブログ」テンプレートセットの「月別ブログ記事リスト」に日別アーカイブを追加)のダイナミックパブリッシング

ダイナミックパブリッシングの変更方法は、

  • 公開プロファイルによる設定
  • アーカイブテンプレートのテンプレートマッピング設定画面による個別の設定

で同様の事象となるようです。Windows/Linuxいずれも同様です。データベースはMySQLで動作確認しています。すべての環境で同様の事象が発生するかどうかは不明です。

4.25では正常に動作しました。4.3 も Windows では正常に動作することを確認しました。

2.原因

MT 4.3 のリリースノートを見ていると、以下が該当するように思われます。

[PATCH] Dynamically published weblog pages display "Page not found" error

Fixed an error where viewing a dynamically published weblog page results in a "Page not found" error being displayed if the template which publishes the page has a template_identifier field value of "NULL" in the mt_template table in the Movable Type database.

これを見る前にとりあえずシックスアパートにフィードバックしてしまいました。既知のバグでしたらすいません。

3.対処方法

2009.08.22 追記しました。「うろうろ...」さんの「MTOS導入日誌 2009年07月29日」に対処方法がありました。

php/lib/mtdb_base.php の 90行目を以下のように修正します。

変更前

and template_identifier != 'backup'

変更後

and template_type != 'backup'
関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)