ECCUBE3 会員仮登録のエラーページ修正

メールが実在するか、確認するために、
仮登録は、有効なのですが、

ECCUBEの場合、2回URLを踏むと、
NOT FOUNDのエラーページが表示されます。

なので、メール中に、

※一度クリックすると、URLは無効となりますので、
登録したメールアドレスとパスワードで、ログインしてみて下さい。
なお、登録から10分経過した場合も同様に、無効となりますので、
ログインできない場合は、再登録お願い致します。

 

と、記載しているのですが、読んでません・・・

 

しかし、

なんで「NOT FOUND」表示なんでしょうね?

不正アクセス対策なんでしょうが、ユーザーには不親切です!

 

デバッグモードでアクセスすると、

「既に会員登録が完了しているか、無効なURLです。」

と表示されるのに、、、

 

ということで、

ECCUBE3 仮登録 エラー表示

と、普通に表示されるようにします。

***

1. 仮登録時のエラー処理を変更

/src/Eccube/Controller/EntryController.php 188行目あたり

         if ($request->getMethod() === 'GET' && count($errors) === 0) {
            log_info('本会員登録開始');
            try {
                $Customer = $app['eccube.repository.customer']
                    ->getNonActiveCustomerBySecretKey($secret_key);
            } catch (\Exception $e) {
// 2021-02-18 * Not Found >>  エラー表示
//                throw new HttpException\NotFoundHttpException('※ 既に会員登録が完了しているか、無効なURLです。');
	            return $app->render('Entry/activate_failed.twig');
            }

throw new HttpException\NotFoundHttpException … を無効にし、
return $app->render(‘Entry/activate_failed.twig’); twigを表示。

 

2. 上記で表示されるtwigを作成(編集)

/app/template/default/Entry/activate_failed.twigを作成
※activate.twigを丸コピーし、中身をいじる

 

なお、10分後に自動的に無効にするには、、、

また別の機会で(汗

ECCUBE3 会員仮登録のエラーページ修正
Tagged on: