Movable Type 備忘録
1日午前0時のエントリがカレンダーに反映されない問題
- Next Page: トラックバック送信時のエラー
- Prev Page: MT3.2+SQLiteでのrecently_commented_onの問題
先日、いつもお世話になっている小粋空間さんのところで、投稿したはずのエントリがカレンダーに反映されない不具合が報告されていました。
どうやら、投稿日時が毎月1日の00時00分00秒と月末の23時59分59秒だとカレンダーに反映されないんだそうです。しかも、MovableType(ムーバブルタイプ)3.2 の不具合というわけではなく、以前のバージョンから引きずっていたものなんだとか![]()
意図的に投稿日時を指定しない限り確率的には低いわけですが、とりあえず分かっている不具合を放っておくわけにもいきませんね。
小粋空間さんの解析によると、mt/lib/MT/Template/ContextHandlers.pm
に原因があるようです。
_hdlr_calendar というファンクション内の、1ヶ月分のエントリを取得するところで上記投稿日のエントリだけ除外されてしまうための現象のようです。
対策
以下に、小粋空間さんで報告されている問題箇所を記します。
2462行目
変更前
{ range => { created_on => 1 },
変更後
{ range_incl => { created_on => 1 },
青い行を赤い行に差し替えることで、不具合が対応できるようです。
わたしもコードを見てみましたが![]()
![]()
何が何だかさっぱりでした![]()
わたしは今回のトラブルにでくわしたことはありませんが、今後誰にでも起こりうる現象なので対応しておいた方がよいですよ。
SEE YOU![]()
Trackback Pings(0)
No trackbacks found.
Comments(0)
No comments found.


Post a Comment