BLOG

Go to top


プラグイン設定画面のためのテンプレートでもコールバック MT::App::CMS::template_source.*** が呼び出される

June 18, 2008 11:16 AM

つい最近気づきましたが、プラグインの中で system_config_template や、blog_config_template で指定しているテンプレートファイルが呼び出される際にも template_source コールバックが走っています。

たとえば、以下のようにプラグインの初期化処理を書いた場合、


my $plugin = MT::Plugin::BlogSelectorSample->new({
    id => 'BlogSelectorSample',
    key => 'blogselectorsample',
    name => 'BlogSelectorSample',
                           *-- 略 --*
    system_config_template => 'blogselectorsample.tmpl',
    settings => new MT::PluginSettings([
        ['selected_blog_id', { Default => '' }],
    ]),
});

init_registry で指定するコールバックを、以下のようにすると、blogselectorsample.tmpl が構築される際に、_cb_template_source_blogselectorsample サブルーチン(メソッド)がコールバックとして呼び出されます。


sub init_registry {
    my $plugin = shift;
    $plugin->registry({
        callbacks => {
            'MT::App::CMS::template_source.blogselectorsample',
                => \&_cb_template_source_blogselectorsample,
        },
   });
}

なので、この _cb_template_source_blogselectorsample ルーチンでごにょごにょしてやると...

プラグイン設定でブログを選択するプラグイン設定でブログを選択する

プラグイン設定で、ブログを選択するプラグインが作成出来たりするわけです。これでもう、プラグイン設定でブログを指定する際に、ブログ ID を直接記入する必要はなくなります。些細なことですが、より直感的なインターフェイスを目指す方に。

サンプルプラグインのダウンロード

ブログを選択する機能しかありませんが、よろしければどうぞ。

BlogSelectorSample プラグイン(約 2.2 kb)

インストール

通常のプラグインと同様に、解凍してできた BlogSelectorSample フォルダを plugins ディレクトリ内にそのままアップロードしてください。正しくアップロードできていれば、システム・メニューのプラグイン設定に BlogSelectorSample プラグインが表示されます。

動作環境

Movable Type ver. 4 以降、ver. 4.2 の rc2 でも動作確認しています。

お願い

基本的にご利用は無償かつ自己責任ですが、継続的な開発、更新のため、よろしければドネーションをご検討ください。以下のボタンから、PayPal を通じて行うことができます。

また、フィードバックもぜひ kenmin.okayama@gmail.com までお送りください。コメントでもかまいません。

Comments


Contact me

Copyright © 2005 - 2017 okayama All rights reserved.