エンジニアブログ

エンジニアブログ
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で記述されたプラグインが複数あり、それらが同じコールバックを使う場合でも、これで確実にハンドラの実行順序を指定できるようになりました。