Labo

EC-CUBE3 分室

【3.0.11】自作プラグインのパッケージ化

2016年11月13日 / 投稿者名:chiharu


今回は「何もしない」プラグインです。
実際にはプラグインのインストールを行うために、最低でも何が必要かの確認ですね。
ということで、何が必要かを確認してみましょう。
 
 
まずはプラグイン名、及び、プラグインコードを決める必要があります。
命名規則に沿ってわかりやすい名称を心掛ける必要がありまます。
 
その次は「config.yml」となり、プラグインの基本情報を記載します。
今回は前回作成したものの流用しますが重要な内容です。
 
今回はそれ以外の何が必要かを確認したいと思います。
 ※本当はフックポイントの説明が必要なのかもしれませんが、この辺りはプラグイン仕様書を確認頂く方が間違いありません(笑)
 
 
まぁ、簡単には云いましたが、実際のプラグインでは処理を行いたい項目によって作成するファイルが大きく変わります。
とは云っても、今回は最低限の内容確認にしたい為、追加で用意するファイルは一つだけのようです。
その対象となるファイルは「PluginManager.php」です。
 
主な役割としてプラグインのインストール、及び、更新時の処置を記載するものです。
・・・まぁ、簡単に云えば EC-CUBE3 用のプラグインインストーラーですね。
 
 ■インストール時に行う処理を記載する。
  install()
 
 ■アンインストール時に行う処理を記載する。
  uninstall()
 
 ■有効化時に行う処理を記載する。
  enable()
 
 ■無効化時
  disable()
 
 ■更新時に行う処理を記載する。
  update()
 
上記の内容を実行することが出来ますが、今回は何もしないプラグインの為、全く内容が無いですね(笑)

<?php
namespace Plugin\NakwebTest001;

use Eccube\Plugin\AbstractPluginManager;

class PluginManager extends AbstractPluginManager
{

    public function __construct()
    {
    }

    public function install($config, $app)
    {
    }

    public function uninstall($config, $app)
    {
    }

    public function enable($config, $app)
    {
    }

    public function disable($config, $app)
    {
    }

    public function update($config, $app)
    {
    }

}

 ※ namespace は対象プラグインコードになりますので気を付けてください。
 
 
これで、無事(?)にプラグインに最低限必要なファイルの作成が完了しました。
あとはこれをパッケージ化します。
基本的には作成している際のフォルダを含まない形で、「tar.gz」形式にて圧縮します。
 
最後に本当にプラグインとして動作可能かを以下のメニューから確認を行います。
 管理画面 > オーナーズストア > プラグイン
 
画面下部の「独自プラグイン」の部分にある「プラグインのアップロードはこちら」から登録をして見ます。
・・・あれ、「独自プラグイン」の場合は「zip」や「tar」の形式でも可能の様ですね。
まぁ、せっかく作ったので「tar.gz」の形式で作業はしますが、いざと云う時に「zip」が使用できるのはいいことです。
 
アップロードが行われると「独自プラグイン」として作成したプラグインが登録されているのが確認できます。
・・・おぉ~、無事に設定できたようです。
但し、機能は何もついていません(笑)
 
実際のプラグインの場合、内容によってマイグレーションなどの処理を行う必要もあります。
まぁ、しばらく地道に進めて行きたいと思います(笑)
ということで、今回はここまでとさせて頂きます。
 
 
余談ですが、EC-CUBE のバージョンが 3.0.12 に上がっています。
次回はブログの前にテスト環境のアップグレードをしないとなぁ・・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*

コメント欄にコードを挿入したい場合は、[php][/php] を使ってください。