Eccube

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 受注マスターをメールアドレスで検索

検索ワードを入れる箇所は、
「受注ID・注文者名・注文者会社名」のみの検索が可能で、
その右の「+」を押すことで、詳細な条件で検索することができる。

emailで検索することが多いので、
都度、詳細を開くのは面倒なので、今回は、その加工。

***

/src/Eccube/Repository/OrderRepository.php [277行あたり]

※会社名なんて使わないので、emailに変更

'o.kana01 LIKE :likemulti OR o.kana02 LIKE :likemulti OR o.company_name LIKE :likemulti')

'o.kana01 LIKE :likemulti OR o.kana02 LIKE :likemulti OR o.email LIKE :likemulti')

 

/src/Eccube/Resource/template/admin/Order/index.twig [133行目あたり]

※プレイスホルダーの名称の変更

{{ form_widget(searchForm.multi, { attr: { placeholder: '受注ID・注文者名・注文者会社名', class : 'input_search' } } ) }}

{{ form_widget(searchForm.multi, { attr: { placeholder: '受注ID・注文者名・email', class : 'input_search' } } ) }}

 

-