« Meadowのundoとredoのキーバインド | メイン | デブサミ2007(初日)、行ってきた »

pre_save,post_saveコールバックの罠

MovableTypeのオブジェクトの話。 例として新規にエントリーがポストされた時、コールバックメソッドを実行したい。

MT::Entry->add_callback('post_save',9,undef,\&handler);

と、するとはまる場合がある。例えばhandlerメソッドで、エントリーの所属するカテゴリーを取得しようとしてもとってこれない(二度目に保存すると取得できたりする)。オブジェクトが生成されるタイミングの問題っぽい。以下のようにCMSPostSave.entryを指定すると上記の問題は解決する。

MT->add_callback('CMSPostSave.entry', 9 , undef, \&handler);

トラックバック

このエントリーのトラックバックURL:
http://yusukebe.com/mt/mt-tb.cgi/2084

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


ブログSEO対策:track word seo