EC-CUBE3プラグインの雛形の作り方

シェアする

EC-CUBE3でプラグインを使う場合、ファイルやフォルダの作成が手間となっていました。

EC-CUBE3.0.13からは、プラグインの雛形をコンソールコマンドで簡単に生成できるプラグインジェネレーターが搭載されたので、今回はその使い方を紹介します。

作業環境は下記の通りです。

  • EC-CUBE(3.0.16)
スポンサーリンク

プラグインの作成

プラグインの雛形を作成するためには、下記のコマンドを実行します。

$ cd EC-CUBE3インストールディレクトリ
$ php app/console plugin:develop generate

コマンドを実行すると、いくつかの質問を訊かれるので、順番に答えて行きます。

[+]Please enter Plugin Name
Input[1] : プラグイン作成テスト
[+]Please enter Plugin Code (First letter is uppercase alphabet only. alphabet and numbers are allowed.)
Input[2] : TestSample
[+]Please enter version (correct format is x.y.z)
Input[3] : 1.0.0
[+]Please enter author name or company
Input[4] : chatlune
[+]Do you want to support old versions too? [y/n]
Input[5] : n
[+]Please enter site events(you can find documentation here http://www.ec-cube.net/plugin/)
Input[6] :
[+]Please enter hookpoint, sample:front.cart.up.initialize
Input[7] :
[+]Would you like to use orm.path? [y/n]
Input[8] : y
  1. 作成するプラグインの名前入力(日本語可)
  2. プラグインコードの入力
    英数字のみ、最初の1文字目は半角英字の大文字を入力。
  3. プラグインバージョン
    1.0.0など、管理できれば特に制約はない。
  4. 作成者
  5. EC-CUBE3.0.8以下も対応するか?
    (yかnで答える)
  6. 共通イベント設定
    イベント名の一部入力で利用できるイベントが表示される。
    一致するイベント名でなければ完了しない。
    特に必要ない場合はenterでスキップできる。
  7. フロント、管理イベント設定
    使い方は6と同じ。
  8. orm.pathの設定
    プラグインでデータベースを使うためのorm.pathの設定、「y」を選ぶと追加される。

すべての質問に答えると、入力した内容の確認が表示されるので、問題なければ「y」を押します。

---Entry confirmation
[+]Plugin Name: プラグイン作成テスト
[+]Plugin Code: TestSample
[+]Version: 1.0.0
[+]Author: chatlune
[+]Old version support: No
[+]SiteEvents:
[+]hookpoint:
[+]Use orm.path: Yes

[confirm] Do you want to proceed? [y/n] : y

app/Pluginの配下にプラグインコードのディレクトリが作成されます。

[+]File system

this files and folders were created.
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/ServiceProvider
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Controller
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Form/Type
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Resource/template/admin
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/config.yml
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/PluginManager.php
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/ServiceProvider/TestSampleServiceProvider.php
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Controller/ConfigController.php
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Controller/TestSampleController.php
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Form/Type/TestSampleConfigType.php
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Resource/template/admin/config.twig
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/Resource/template/index.twig
- /Applications/MAMP/htdocs/eccube_test/app/Plugin/TestSample/LICENSE

[+]Database
Plugin information was added to table [DB.Plugin] (id=34)
Plugin was created successfully

最後に「管理画面>オーナーズストア>プラグイン>プラグイン一覧」の独自プラグインに表示されれば完了です。

まとめ

プラグインジェネレーターを使って簡単に雛形が作れるので、プラグイン作成の手間が省けとても便利に感じます。

他の記事でも、この方法で生成した雛形をベースにしたもので色々と書いていこうと思います。

新卒1年目のエンジニアです。
主にPHPを勉強中で、今まで学んできたことを記事にしていきたいと思っております。

スポンサーリンク

シェアする

フォローする