バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (35 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 46
もっと...

サイト内検索

質問 > 管理機能 > お気に入り機能を非ログイン時でも使えるようにしたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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が無いので既存の機能の流用はできないです。
根本的に機能自体切り分けて作ることになるとは思います。


----------------


http://ec-lab.net/

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,807名です
総投稿数は109,972件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1644
8
red
1570
9
mcontact
1289
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.