plugindev:method

Nucleusプラグインメソッド リファレンス

プラグインの名前等

getName()

プラグイン名を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では Undefined を返すため、必ず再定義されないといけません。

getAuthor()

プラグインの作者名を返します。インストール済みプラグインリストに表示されます。デフォルトの実装では Undefined を返すため、必ず再定義されないといけません。

getURL()

プラグインをダウンロード可能な、またはプラグインの追加情報のあるサイトのURLを返します。
そのようなサイトがない場合は作者のメールアドレスへの mailto:リンクが適切です。
デフォルトの実装では Undefined を返すため、必ず再定義されないといけません。

getDescription()

プラグインに関する説明文を返します。インストール済みプラグインリストに表示されます。
デフォルトの実装では Undefined を返します。

getVersion()

プラグインの現在のバージョンを返します。デフォルトは 0.0 を返します。

supportsFeature($feature)

プラグインがサポートしている機能は1を返します。
v3.22現在では'SqlTablePrefix'と'HelpPage'をサポートしているかどうかを走査されます。

        function supportsFeature($feature) {
            switch($feature) {
                case 'SqlTablePrefix':
                    return 1;
                case 'HelpPage':
                    return 1;
                default:
                    return 0;
            }
        }

プラグインの前提条件

getMinNucleusVersion()

(v2.0b)
最低限必要なNucleusのバージョンを返します。
デフォルトは 155 (v1.55)を返します。後に導入されたプラグイン関連機能を利用している場合は、このファンクションを実装するようお願いします(例: v2.0 ⇒ 200)。
ただし、Nucleus v1.55 はこのファンクションを使用しないため、新機能を利用したプラグインが(対応する前のシステムに)インストールされる可能性が残っています。

getMinNucleusPatchLevel()

(v3.1) 最低限必要なNucleusのバージョン(getMinNucleusVersion)での、最低限必要なパッチレベルを返します。デフォルトは 0 を返します。このファンクションは主に新しいプラグインの機能がNucleusの最新版のパッチによって可能になる場合に用いられます。

getPluginDep()

(v3.2) 予めインストールされている必要のあるプラグインの名前を配列で返します。Nucleusはこれらのプラグインが前もってインストールされてない場合、プラグインのインストールを拒否します。デフォルトでは空の配列が返されます。

プラグインの構造情報

getEventList()

プラグインはイベント登録が可能です。イベントはNucleusが何かアクションを起こすたびに生成されます。

たとえば、AddItem イベントは、このイベントを登録しているすべてのプラグインを呼び出します。呼び出されるメソッドは event_AddItem($params)になります。 $params パラメータは、例えば AddItem の itemid のような、情報フィールドを複数持つ連想配列です。

デフォルトではどのイベントにも登録されていないことを示す空の配列を返します。

getTableList()

このメソッドはプラグインが生成したデータベース・テーブルの配列を返します。
これはNucleusが提供するバックアップ機能で利用されるので、プラグインテーブルをバックアップに含めることができます。

デフォルトでは空の配列を返します。

hasAdminArea()

プラグインが独自の管理エリアをもつ場合 1 を、そうでない場合 0 を返します。デフォルトでは 0 を返します。

プラグインの登録/削除時の動作定義

install()

このメソッドはプラグインがインストールされた際に呼ばれます。データベース・テーブルの生成やプラグインオプションの生成などの初期化作業を行うことができます。デフォルトではこのメソッドは何もしません。

unInstall()

プラグインがアンインストールされた際に呼ばれます。この時点でデータベースに作られたプラグイン情報を消去すると良いです。デフォルトではこのメソッドは何もしません。

プラグインの実行動作

init()

プラグインを初期化します。このメソッドはプラグインオブジェクトが生成された直後に呼び出され、plugid属性がセットされます。デフォルトではこのメソッドは何もしません。

doSkinVar($skinType)

<%plugin(…)%> スキン変数によってプラグインが呼び出されたときにこのメソッドが呼ばれます。$skinType パラメータはプラグインが呼ばれた場所のスキンタイプに該当します(item, archive, …)。パラメータが一つしかないことに混乱しないでください。複数パラメータを渡すことも可能です。デフォルトではこのメソッドはなにも出力しません。

doTemplateVar(&$item)

基本的に doSkinVar と同じですが、今度はテンプレート内(item header/body/footer と dateheader/footer)での<%plugin(…)%> 変数からの呼び出しになります。デフォルトではこのメソッドはテンプレートをスキンタイプとみなして doSkinVar メソッドに処理を渡します。

doTemplateCommentsVar(&$item, &$comment)

(v2.0b) 基本的に doSkinVar と同じですが、今度はテンプレート内(コメント部分)での<%plugin(…)%> 変数からの呼び出しになります。デフォルトではこのメソッドはテンプレートをスキンタイプとみなして doSkinVar メソッドに処理を渡します。

doItemVar(&$item, &$param)

(v3.30) 基本的に doSkinVar と同じですが、今度はアイテム内での <%plugin(…)%> 変数からの呼び出しになります。&$item は ItemVar を使ったアイテムの完全なアイテムオブジェクトを表します。また &$param は ItemVar のパラメータを表します。

doIf($key, $value)

(v3.30) if/ifnot/elseif/elseifnot スキン変数による、カスタム条件式を計算します。必ず、真か偽の何れかを返さなければなりません。$key と $value は if/ifnot/elseif/elseifnot スキン変数に与えられた文字列です。普通は、$key の値が $value と等しいかをプラグインがチェックするようにしますが、他の使い方をしても構いません。このメソッドを使用可能とするプラグインは、使い方を利用者へ説明するドキュメントを用意しましょう。

doAction($type)

プラグインがユーザーインタラクションを求めたとき、 action.phpを介してこのメソッドがそれを与えます。これはNucleus自身が新しいコメントや投票を処理するのに使用するスクリプトです。正しいパラメータを用いることで、プラグインからの doAction メソッドを呼び出せます。$type はオプションのメッセージタイプに該当します。doAction メソッド内で、リクエストからの追加の変数にアクセスできます。デフォルトではこのメソッドがエラーメッセージをトリガーすると'No Such Action'という文字列を返します。

 
plugindev/method.txt · 最終更新: 2011/05/08 03:22 (外部編集)