[EC-CUBE]プラグインでsrc以下のテーブルを参照する方法

EC-CUBEのプラグインではEntityとRespositoryを作成して自身に関連するテーブルでの処理を行うことがあるが、
src以下の既存のテーブルとそれに紐づくRepositoryを参照して処理をしたい場合に、既存のRepositoryを継承することができる。

以下、設定の手順

1.Repositoryを作成する。

任意の名前でRepositoryを作成する。

2.ServiceProviderを作成する。

任意の名前でServiceProviderを作成しRepositoryの登録を行う。
また既存Repositoryの継承もここで設定する。

// 既存リポジトリの継承
$app['hoge.repository.product'] = $app->share(function () use ($app) {
    return new HogeRepository($app['orm.em'], $app['orm.em']->getMetadataFactory()->getMetadataFor('Eccube\Entity\Product'));
}

これで既存Repositoryを使用することができる。
ただし、もしプラグインの方でEntityを未作成の場合は、プラグインのコントローラ上でuseを使用し、クラスの読み込みを行う必要がある。

use Plugin\Hoge\Repository\HogeRepository;

コメントを残す

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

12 + 4 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください