質問 > 管理機能 > お気に入り機能を非ログイン時でも使えるようにしたい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tkyyskw |
投稿日時: 2021/11/26 16:44
対応状況: −−−
|
新米 登録日: 2021/1/5 居住地: 投稿: 5 |
お気に入り機能を非ログイン時でも使えるようにしたい ▼テンプレート
[EC-CUBE] 4.0.1系 [レンタルサーバ] kagoya [PHP] 7.1.26 現在 EC CUBE でサイトを運営しております。 表題の通り、お気に入り機能を非ログイン時でも使えるようにしたいと考えております。 そもそも EC CUBE 自体がそのような前提で構築されていないとは思いますが、これを実現しようと思うと高度な技術が必要になってくるでしょうか? /src/Eccube/Controller/ProductController.php こちらのファイル内に「お気に入り」ボタンを押した際の処理の記述があります。 -------------------------------------------------------------------------------- /** * お気に入り追加. * * @Route("/products/add_favorite/{id}", name="product_add_favorite", requirements={"id" = "\d+"}) */ public function addFavorite(Request $request, Product $Product) { $this->checkVisibility($Product); $event = new EventArgs( [ 'Product' => $Product, ], $request ); $this->eventDispatcher->dispatch(EccubeEvents::FRONT_PRODUCT_FAVORITE_ADD_INITIALIZE, $event); if ($this->isGranted('ROLE_USER')) { $Customer = $this->getUser(); $this->customerFavoriteProductRepository->addFavorite($Customer, $Product); $this->session->getFlashBag()->set('product_detail.just_added_favorite', $Product->getId()); $event = new EventArgs( [ 'Product' => $Product, ], $request ); $this->eventDispatcher->dispatch(EccubeEvents::FRONT_PRODUCT_FAVORITE_ADD_COMPLETE, $event); return $this->redirectToRoute('product_detail', ['id' => $Product->getId()]); } else { // 非会員の場合、ログイン画面を表示 // ログイン後の画面遷移先を設定 $this->setLoginTargetPath($this->generateUrl('product_add_favorite', ['id' => $Product->getId()])); $this->session->getFlashBag()->set('eccube.add.favorite', true); $event = new EventArgs( [ 'Product' => $Product, ], $request ); $this->eventDispatcher->dispatch(EccubeEvents::FRONT_PRODUCT_FAVORITE_ADD_COMPLETE, $event); return $this->redirectToRoute('mypage_login'); } } -------------------------------------------------------------------------------- ここのログイン状態の条件分岐をなくしたところ、エラー画面になってしまいました。 ログイン画面をすっ飛ばすだけで良いのかと考えていたのですが、やはり根本的に構造を変えないといけないような大袈裟な話になってしまうのでしょうか? ご教授のほど宜しくお願いいたします。 |
yuh |
投稿日時: 2021/11/26 16:48
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: お気に入り機能を非ログイン時でも使えるようにしたい 元々お気に入りの機能は会員IDを軸に商品IDを紐づけるので、非会員の場合会員IDが無いので既存の機能の流用はできないです。
根本的に機能自体切り分けて作ることになるとは思います。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |