MT4.xプラグイン作成/プラグイン管理画面の作成 http://www.ark-web.jp/sandbox/wiki/1124.html

MT4.xプラグイン作成/プラグイン管理画面の作成

プラグインの管理画面を作成するには、プラグインのnewでconfig_template、system_config_template、blog_config_templateで管理画面のテンプレートファイルを指定し、settingsで設定値を定義します。

[edit]

config_template、system_config_template、blog_config_templateの違い

config_template、system_config_template、blog_config_templateはスコープの違いで使い分けます。

config_template
システムレベルスコープ、ブログレベルスコープ共通
system_config_template
システムレベルスコープ
blog_config_template
ブログレベルスコープ
[edit]

settings

管理画面で設定する設定値を定義する。keyとデフォルト値、スコープを定義できる。

   settings => new MT::PluginSettings([
       ['option1', { Default => 'default_setting' }],
       ['option2', { Default => 'system_default', Scope => 'system' }],
         :
       [key, { Default => デフォルト値, Scope => スコープ(system or blog) }],
   ])

Scopeは'system'でシステムレベルスコープ、blogでブログレベルスコープになります。

[edit]

setter, getter

$plugin->set_config_value($key, $value[, $scope]);でkeyの値をセットできる。
$plugin->get_config_value($key[, $scope]);でkeyの値を取得できる。

$scopeではsystemかblogを指定できる。

[edit]

サンプル

plugin本体

my $plugin = new MT::Plugin::HelloToConfigPerson({
  :
    system_config_template => 'system_config.tmpl',
    settings => new MT::PluginSettings([
      [ 'target', { Default => 'Someone', Scope => 'system' }],
    ]),
});

sub init_registry {
    my $plugin = shift;
    $plugin->registry({
        'tags' => {
            function => {
                HelloTo => \&_HelloTo,
            },
        },
    });
}

sub _HelloTo {
    my $ctx = shift;
    my $args = shift;

    my $cfg = MT::ConfigMgr->instance;
    MT->set_language($cfg->DefaultLanguage);

    return 'Hello, ' . $plugin->get_config_value('target');
}

テンプレート

<div>
  <h3>誰に挨拶する?</h3>
  <div>
    <h4>挨拶する人の名前</h4>
  </div>
  <div class="plugin-tabs-content">
    挨拶する人の名前を指定します。デフォルトではSomeoneになります。
    <input type="text" name="target" value="<mt:var name="target">" class="rb" />
  </div>
</div>

システムレベルスコープで定義しているので、[システムメニュー]->[プラグイン]の当該プラグインの管理画面から設定できるようになる。

[edit]

サンプルダウンロード

fileHelloToConfigPerson.zip

投稿者進地 | パーマリンク

| append.gif

tag: Movable TypeMTMTPlugin


添付ファイル: fileHelloToConfigPerson.zip 1299件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-08-22 (金) 10:29:42 (5928d)

アークウェブのサービスやソリューションはこちら