EC-CUBE3のプラグインを作る方法を忘れた時とかのために、念の為に書いておこうと思います。
雛形を作る
雛形を作る方法は簡単でした。
プラグインジェネレータと言うのが用意されていたので、それで簡単に作れました。
上記のページに書いてあることを行えばできます。
「共通イベント設定」と「フロント、管理イベント設定」は、プラグイン仕様書の「共通フックポイント」「個別フックポイント」に書いてあるのを入力すれば良いです。
※「共通イベント」 = 「共通フックポイント」。「フロント、管理イベント設定」=「個別フックポイント」。
テーブルの追加をする場合
プラグイン用のテーブルを「CREATE TABLE」で作成した場合、エンティティ・リポジトリ・マイグレーションファイルを作る必要あると思います。
雛形を作るのと同じで、自動生成する方法が用意されています。
それが「プラグインジェネレータエンティティ」です。これを利用して生成しましょう。
以下のページを参考にすると、作ったテーブルを元にエンティティなどを生成させることができます。
※プラグイン用にテーブルを作成する場合、テーブル名は「plg_」から始まるようにしましょう。その場合生成されないかもしれません。
ymlから作る方法もありますが、個人的には上記の方が楽だと思います。
マイグレーションファイルは、インストール時などに適用されるように、PluginManager.phpに以下を追記しましょう。
// テーブルを追加 enableなどに書く
$this->migrationSchema($app, __DIR__.'/Resource/doctrine/migration', $config['code']);
// テーブルを削除 uninstallに書く
$this->migrationSchema($app, __DIR__.'/Resource/doctrine/migration', $config['code'], 0);