プラグインの登録

プラグイン | -

Serene Bachではプラグインは専用のAPIをコールすることで、プラグインとして登録されます。

典型的なプラグインの登録ルーチンを以下に示します。

use sb::Plugin ();
sb::Plugin->register_plugin(
  'lang' => {
    'ja' => 'euc',
    'en' => 'ascii',
  },
  'text' => {
    'type'    => 'admin, cms',
    'name'    => 'Short Message',
    'text'    => 'Writing short message on the top page.',
    'author'  => 'takkyun',
    'detail'  => 'http://serennz.cool.ne.jp/sblog/',
    'version' => '0.00',
  },
  'file' => 'memo.txt',
  'data' => 1,
);

Serene BachのプラグインAPIを利用する際には、最初にsb::Pluginをロードする必要があります。上記例では、最初の行use sb::Plugin ();が該当します。

ここでは「use」を使っていますが、require sb::Plugin;としても構いません。

次の行、sb::Plugin->register_pluginがプラグインの登録になります。sb::Pluginregister_pluginメソッドにより、プラグインを登録します。

プラグインを登録すると、環境設定→プラグイン画面にて該当プラグインが表示されるようになります。

register_pluginメソッドには引数を連想配列(ハッシュ)の形で記述します。

# Serena BachではプラグインAPIに限らず、連想配列によるパラメータ引渡しが多用されていますので、この形式に慣れておくとプラグインの作成が容易になります。

sb::Plugin->register_plugin(
  'lang' => { # 言語設定(文字コード)
    'ja' => '', # 日本語
    'en' => '', # 英語
  },
  'text' => { # テキスト情報
    'type'    => '', # プラグインのタイプ
    'name'    => '', # プラグインの名称
    'text'    => '', # プラグインの簡単な説明
    'author'  => '', # プラグインの作成者
    'detail'  => '', # プラグイン配布先・詳細説明ページのアドレス
    'version' => '', # プラグインのバージョン
  },
  'file' => '', # リソースファイル名
  'data' => undef, # プラグインデータを利用するかどうか
);

register_pluginの引数にはlang, text, file, dataという4つの大項目があります。

これらの値は必須ではありませんので、以下のように省略しても構いません。

sb::Plugin->register_plugin();

言語設定langでは、プラグイン並びにリソースファイルの文字コードを指定します。そのプラグインで利用する文字コードは統一しておく必要があり、またここで文字コードを明示しておく必要があります。

テキスト情報textではプラグイン名称などを記述します。この中のnameはadmin moduleではメニューの名称にも利用されます。

テキスト情報textの内容は後述するリソースファイルにも記述できます。リソースファイルを利用した場合、リソースファイルの内容が優先して利用されます。

リソースファイル名fileではリソースファイルの名称を指定します。この項目が存在しないあるいは空の場合はリソースファイルは利用されません。

プラグインデータdataではプラグインAPIを介したプラグインデータを利用するかどうかを設定します。

プラグインデータを利用する場合には'data' => 1,のようにdataに対して「1」を設定します。

    2007.05.23 Wednesday | comments (0) | trackbacks (1)

    comments

    comment form

    trackbacks

    trackback url
    [SB メモ] Serene Bach 2.xxのプラグインで独自タグ置き換えの覚書き | 2013/05/04 10:50 PM
    拙作プラグインのFeedBurnerプラグインで独自タグを置き換えていますが、その置き換え方を覚書きとして投稿します。一例として下記のコードをTagR...
    AIZACK.NET