EC-CUBEめも

プラグインジェネレーター

EC-CUBE3.0.13未満であれば無料のプラグインを導入することでひな形を作成できます。
http://www.ec-cube.net/products/detail.php?product_id=1022

EC-CUBE3.0.13以降であればプラグインジェネレータが実装されていますので、こちらを利用することでひな形を作成できます。
プラグインジェネレータの利用方法

プラグインジェネレーターの実行開始

$ php app/console plugin:develop generate

migrationファイルの生成

$ ./app/console migrations:generate

src\Eccube\Resource\doctrine\migration\Versionxxxxxxxxxxxxxx.php が生成されるので、app\Plugin\プラグインフォルダ\Resource\doctrine\migration\ へ移動します。
中身は自分で書きます。

データベースからdcm.ymlを生成

ymlファイルを書くのは面倒なので、先にデータベースにテーブルを作成しておき、それをもとにymlファイルを生成します。
テーブル名が plg_table であれば、指定は PlgTable になります。

$ vendor/bin/doctrine orm:convert:mapping --namespace="Eccube\Entity\\" --from-database yml --filter=PlgTable app/Plugin/プラグインフォルダ/Resource/doctrine/

Eccube.Entity.PlgTable.dcm.yml ファイルが生成されますが、命名規則が異なるので、リネームします。
Plugin.プラグインフォルダ.Entity.PlgTable.dcm.yml

ファイルの内容もパスの修正やrepositoryClassを追記します。

ファイルがありませんなどのエラーが出る場合はzipをwindowsで解凍したことなどが原因でシンボリックリンクが切れているかもしれません。
特に vagrant rsync-auto としている場合はハマるかもしれません。
config.vm.synced_folder に vendor/ を追加しておいた方がいいかも。
tar.gz形式のファイルを解凍して使用してみましょう。

参考

Entityの生成

以下できるらしいが、できず断念

$ vendor/bin/doctrine orm:generate:entities --extend="Eccube\\Entity\\AbstractEntity" --filter=EntityName app/

Repositoryの生成

以下でできるらしいが、できず断念

$ vendor/bin/doctrine orm:generate:repositories --filter=EntityName app/

プラグインのインストール

$ php app/console plugin:develop install --code プラグイン

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS