【EC-CUBE3】会員IDでログインできるプラグインを作る方法

【EC-CUBE3】会員IDでログインできるプラグインを作る方法です。

app/Plugin内にCustomerLoginフォルダを用意してその中に必要なファイルを用意してプラグインを作っていきます。

まずはconfig.ymlを作ります。serviceはサービスプロバイダを読みこませるため。orm.pathはORMメタデータを読み込ませるためのパスを指定しています。

次にEntityフォルダを作ってそのなかにCustomer.phpファイルを設置します。EC-CUBE3本体のCustomerエンティティを継承しているだけです。

次にRepositoryフォルダを作ってそのなかにCustomerRepository.phpファイルを設置します。EC-CUBE3本体のCustomerRepogitoryを継承して、loadUserByUsernameメソッドを上書きしています。ココに会員IDでログインできる処理を追加しています。

次にRepositoryクラスを登録するためにResource/doctrineフォルダを作ってそのなかにPlugin.CustomerLogin.Entity.Customer.dcm.ymlを設置します。

最後にServiceProviderフォルダを作ってそのなかにCustomerLoginServiceProvider.phpを設置します。ココでログイン処理時に作ったRepositoryクラスが使われるように設定しています。

あとは以下のコマンドを実行してプラグインを有効化すれば会員IDでログインできるようになります。

以下にリポジトリを用意しました。

https://github.com/kurozumi/eccube3-customer-login

コメントを残す