質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Symfony

Symfony はPHPで記述されたWebアプリケーションフレームワークです。よく利用するコーディングをテンプレーティングするなど、Webアプリケーション開発の効率化を目的として設計されています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

解決済

ECCUBE4で、ログインボタン押下後、どこの処理を通ってログイン処理が走るのか教えてほしい

fujisawa08
fujisawa08

総合スコア9

Symfony

Symfony はPHPで記述されたWebアプリケーションフレームワークです。よく利用するコーディングをテンプレーティングするなど、Webアプリケーション開発の効率化を目的として設計されています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

2回答

1リアクション

0クリップ

5855閲覧

投稿2020/07/03 08:10

###実現したいこと
別の処理を介して、フロントの既存ログイン処理(ユーザ認証・カートのマージなど)を行いたい

###教えてほしいこと
フロントのログインフォームで、ログインボタン押下後、どこの処理を通ってログイン処理が走るかがわかれば、実現できると考えているので、教えていただきたい
###調査したこと
・ログインフォームで下記のタグがあり、ログインボタンでsubmitすると action="/mypage/login" に遷移する

src\Eccube\Resource\template\default\Mypage\login.twig

<form name="login_mypage" id="login_mypage" method="post" action="{{ url('mypage_login') }}">

・しかし、遷移先に該当するのは、下記のログインフォーム表示メソッドであり、なぜログイン処理につながるか不明

src\Eccube\Controller\Mypage\MypageController.php

/** * ログイン画面. * * @Route("/mypage/login", name="mypage_login") * @Template("Mypage/login.twig") */ public function login(Request $request, AuthenticationUtils $utils) {

・カート情報を結合するメソッドmergeFromPersistedCart を呼んでいることから、ログイン処理にonInteractiveLoginが使われているのだろうと推測

src\Eccube\EventListener\SecurityListener.php

public static function getSubscribedEvents() { return [ SecurityEvents::INTERACTIVE_LOGIN => 'onInteractiveLogin',

・INTERACTIVE_LOGIN を検索すると、Symfony内で定義されているEventのようだが、EventListenerの知識が浅く、ここからどう遡ればログインボタンにたどり着くのか、上手く処理を差し込めるのかがわからず

nakio👍を押しています

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Symfony

Symfony はPHPで記述されたWebアプリケーションフレームワークです。よく利用するコーディングをテンプレーティングするなど、Webアプリケーション開発の効率化を目的として設計されています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。