【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クラスが使われるようにsecurity.firewallsを設定しています。

 

ユーザーID(会員ID)ログインプラグインを作りましたので詳しくはオーナーズストアをご覧ください。

3件のコメント

  1. EC CUBE4で同様のカスタマイズをする場合は、かなり違ってくるのでしょうか?今、そのリクエストがクライアントからありまして、こちらのページに辿りつきました。

  2. 突然のコメントで失礼いたします。なかなか情報がないもので、こちらの貴重な情報を頼りに試みてみようと思っております。

お気軽にコメントをどうぞ

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