エンジニアブログ
MT技術情報
MovableTypeのconfig.yamlでコールバック優先度を設定する方法
2009年11月02日
Movable Type 4 から、config.yaml に記述を設定することで、今まで Perl のスクリプトファイルで作成していたプラグインのほとんどを代替することができるようになりました。例えば、イベントコールバックを定義する場合、従来のPerlスクリプトファイルとconfig.yamlでそれぞれ書くと、以下のようになります。
MT::Foo->add_callback("pre_save", <priority>, <plugin object>, \&callback_function);
callbacks: MT::Foo::pre_save: $MT::Foo::callback_function
ところが、config.yamlではpriorityの項目が見当たりません。これは以下のようにすることで設定できることが判りました。
callbacks: MT::Foo::pre_save: code: $MT::Foo::callback_function priority: 5
config.yamlで記述されたプラグインが複数あり、それらが同じコールバックを使う場合でも、これで確実にハンドラの実行順序を指定できるようになりました。