Home > memo > 覚書:ダイナミックパブリッシング用関数で、変数渡ししないでプラグインの設定値の取得はどうするか

覚書:ダイナミックパブリッシング用関数で、変数渡ししないでプラグインの設定値の取得はどうするか

  • Posted by: maRk
  • memo

Movable Typeプラグインでダイナミック対応のPHPファイルを作るとき、プラグイン設定した値を得る方法がわからないことがあったのでメモしておきます。

通常は、以下のような形でプラグインで設定した値(Config-value 以下、単に「設定値」と表記します)をゲットします。ブログ単位の設定値

function smarty_function_myplugin( $args, &$ctx ) {
    $mt = MT::get_instance();
    $blog_id = 'blog:' . $ctx->stash('blog_id');
    $config = $mt->db()->fetch_plugin_data('MyPlugin', 'configuration:' . $blog_id);
    $cfgval_blog = $config['config_value'];
return  $cfgval_blog;
}

これを、第3引数で$ctx を渡そうとしたら、$ctxを直接受け取れないかんじだったので躓いていました。

なお、動作確認したときの環境はMTOS 5.14 + PHP5.2系およびPHP5.3系にて

設定値は、MT::get_instance();としたあとで、 contextを変数へ代入。

function smarty_function_myplugin( $text, $args ) {
    $mt = MT::get_instance();
    $ctx =& $mt->context();
    $blog_id = 'blog:' . $ctx->stash('blog_id');
    $config = $mt->db()->fetch_plugin_data('MyPlugin', 'configuration:' . $blog_id);
    $cfgval_blog = $config['config_value'];
    return  $cfgval_blog;
}

Comments:0

コメントする

Trackbacks:0

Home > memo > 覚書:ダイナミックパブリッシング用関数で、変数渡ししないでプラグインの設定値の取得はどうするか

Search

Feeds

Return to page top