2006年10月 1日

月めくりカレンダーが月初めにNotFound404になってしまう問題を解決

小粋空間さんのトコに行ったら、
概ねのMTのトラブルは解決できるのでは?と思いましたよ。

月送りカレンダー・1日に表示されなくなる不具合を改善【小粋空間】

今日は月初。
私は随分前に月めくりカレンダーを導入したのだが
その時からずっと気になっていたことがあった。
ずっと、っていうか、月1回なので
その時が来たら気になり、そして忘れる、と言う感じだったのですが。

毎月1日にその日の記事がまだ上がっていない場合に
コメントやトラックバックを(別記事にでも)貰うと、
カレンダーがNotFoundになってしまうのだ。

理由は
・カレンダーは最終構築された日が含まれる月を表示しようとすること
・だが、カレンダーはその月のはじめての記事を書いたとき生成されること
・コメント、トラックバックを受けると、そのページに対し、MTは自動で再構築されること

これを修正するためには、カレンダーを設定しているIFrameのタグ部分を変更します。

<iframe name="cal-iframe" src="<$MTBlogURL$>archives/calendar/ <$MTDate format="%Y/%m/index" $>.php" ...(中略)...  marginheight="0"></iframe>

という部分を

<iframe name="cal-iframe" src="<$MTBlogURL$>archives/calendar/ <MTEntries lastn="1" sord_order="descend"><$MTEntryDate  format="%Y/%m/index" $></MTEntries>.php" ...(中略)...  marginheight="0"></iframe>

と変更。

ウチでは、トップページ、デイリーアーカイブ、マンスリーアーカイブ、カテゴリーアーカイブのテンプレートに適用しました。

これで月末月初が恐くなくなった!
でも、この技は発表されて1年以上経ってんだよね。(笑)
何やってたんだ!オレ!って感じもします。
しばらく、カスタマイズチックな事はやってなかったんで
バージョンアップを機にまた色々出来ているので
バージョンアップしてよかったなぁ、と思いまする。

SPAMの管理が超ラクだし!

でも、サブカテゴリ問題はまだ解決していない。(笑)


このエントリーをはてなブックマークに追加
Posted by otama at 19:21
TrackBack
このエントリーのトラックバックURL: