【EC-CUBE4】ゲスト購入後に会員登録できるフォームを用意する

EC-CUBE4でゲスト購入したユーザーに会員登録を促すフォームを用意する方法です。

今回のコードはサンプルです。本番で使用する際は自己責任でお願いします。

ゲスト購入後に会員登録するFormTypeを用意

ゲスト購入完了ページにはパスワードを除く必要な会員情報が受注データに保持されているので、今回はパスワードを登録してもらうフォームを用意します。

下記のコードをapp/Customize/Form/Type/NonMemberRegisterType.phpに設置して下さい。

会員登録テンプレートを用意

購入完了画面にパスワード入力フォームを追加するテンプレートを用意します。

下記のテンプレートをapp/template/default/Shopping/complte.register.twigに設置して下さい。

ゲスト購入完了画面で会員登録できるイベントを用意

最後にゲスト購入完了画面で会員登録できるイベントを用意します。

下記コードをapp/Customize/EventSubscriber/NonMemberRegisterSubscriber.phpに設置して下さい。

以上で完成です。

これでゲスト購入完了画面に会員登録を促すパスワード入力フォームが出力されます。

デザイン等は考慮していませんのでご了承下さい。

ちなみに今回のコードは会員登録後に購入フローのセッションを削除するようにしています。

なので会員登録しなかった場合は購入フローのセッションが残っているので想定しない問題が起こるかもしれません。

 

パスワード送信後は別ページで会員登録を行うといった処理にして、必ず購入フローのセッションを削除するようにしたほうが良いのかなあと思いますが、今回はサンプルとして公開していますのでご利用は自己責任でお願い致します。

コメントを残す

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