SYSTEM_KDです。
最近は、プラグインから横道にそれていたのですが、本日はプラグインについてのお話。
前回までで、クローズサイト化プラグインを作成しましたが、グローバル(スーバー)フックしか説明していませんでしたので、今回は他の部分についてもざっくり説明できればと思います。
具体的には、EC-CUBEプラグイン特有の下記functionについて説明できればと思います。
// インストール
function install($arrPlugin) {
}
// アンインストール
function uninstall($arrPlugin) {
}
// 稼働
function enable($arrPlugin) {
}
// 停止
function disable($arrPlugin) {
}
// フックポイントの設定
function register(SC_Helper_Plugin $objHelperPlugin) {
}
まずは、「install」と「uninstall」
function install($arrPlugin) {
}
function uninstall($arrPlugin) {
}
こちらは、言うまでもないかもしれませんが、EC-CUBEへプラグインをインストールした際に動作するものと、EC-CUBEからプラグインをアンインストールした際に動作するものになります。
installの用途としましては、プラグインに必要なファイル(画像、CSS、ソース)等を必要な場所へコピーする際や、テーブルの拡張が必要な際にSQLを実行するタイミングとして利用します。
uninstallの用途としましては、インストール時にコピーしたファイルの削除や拡張したテーブルを元に戻す際に利用します。
続きまして「enable」と「disable」
function enable($arrPlugin) {
}
function disable($arrPlugin) {
}
こちらも、説明するほどではないかもしれませんが、EC-CUBEへインストールしたプラグインを有効にした際に動作するものと、無効にした場合に動作する部分になります。
用途としましては、有効・無効にする際にチェック処理が必要な場合等に利用できます。
例えば、外部と連携するプラグインなどの場合に、有効時に外部へ接続できるかの確認を行う。
無効時には、プラグインが停止することを外部に伝えるといった感じです。
次は「register」
function register(SC_Helper_Plugin $objHelperPlugin) {
}
ここは、フックポイントを設定する部分になります。
フックポイントというのは、処理へ介入する部分となります。
グローバルフックの場合は、常に動作する(介入する)処理でしたが、こちらでは個別での介入ポイントを指定する形になります。
だいたい全てのページの開始と終了時に介入して処理を追加することができるようになっている他、テンプレート(Smarty)についてもフックして、表示を変更したりすることができるようになっております。
(詳しくは随時説明できればと思っております。)
また、フックポイントは、この「register」で設定するだけでなく、「plugin_info.php」でも設定が可能です。
static HOOK_POINTS = array( フックポイントの設定 );
上のように、array でフックポイント設定してやることで「register」で設定しなくてもフックポイントを設定できます。
通常の処理については、こんなところです。
他に、プラグインを更新(アップデート)した際に実行される処理なんかもあるのですが、そんなに利用することはないと思いますので、利用する際に書ければと思います。
0 件のコメント:
コメントを投稿