Movable Type 備忘録

 

 1日午前0時のエントリがカレンダーに反映されない問題

先日、いつもお世話になっている小粋空間さんのところで、投稿したはずのエントリがカレンダーに反映されない不具合が報告されていました。

どうやら、投稿日時が毎月1日の00時00分00秒と月末の23時59分59秒だとカレンダーに反映されないんだそうです。しかも、MovableType(ムーバブルタイプ)3.2 の不具合というわけではなく、以前のバージョンから引きずっていたものなんだとかredface

意図的に投稿日時を指定しない限り確率的には低いわけですが、とりあえず分かっている不具合を放っておくわけにもいきませんね。

小粋空間さんの解析によると、mt/lib/MT/Template/ContextHandlers.pm に原因があるようです。
_hdlr_calendar というファンクション内の、1ヶ月分のエントリを取得するところで上記投稿日のエントリだけ除外されてしまうための現象のようです。

対策

以下に、小粋空間さんで報告されている問題箇所を記します。

2462行目
変更前
{ range => { created_on => 1 },
変更後
{ range_incl => { created_on => 1 },

青い行を赤い行に差し替えることで、不具合が対応できるようです。 わたしもコードを見てみましたがquetionquetionquetion何が何だかさっぱりでした汗

わたしは今回のトラブルにでくわしたことはありませんが、今後誰にでも起こりうる現象なので対応しておいた方がよいですよ。

SEE YOUハート2

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード