バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > バグ報告・利用に関する質問 > 同じ商品の別の規格をカートに入れさせないようにしたい

バグ報告・利用に関する質問

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
beginner99
投稿日時: 2025/3/19 14:26
対応状況: −−−
常連
登録日: 2024/6/4
居住地:
投稿: 48
同じ商品の別の規格をカートに入れさせないようにしたい
▼テンプレート
[EC-CUBE]4.1
[現象]
同じ商品の別の規格をカートに入れさせないようにしたいと考えております。

app\Customize\Service\CustomCartService.php
を作成することで対応したいと考えております。
しかしながら ソースのどこかを間違っていると思われ、
上手く機能しません。

1)
プログラム上、間違っている部分がありましたら教えてほしいです。

2)
デバッグ やログを出力したいのですが、方法を教えて頂けると助かります。

3)
同じ商品がある場合、エラー文を表示させる方法を知りたい。

ソースは下記になります。

app\Customize\Service\CustomCartService.php

class CustomCartService extends CartService
{
protected $cartItemRepository;
protected $session;
protected $translator;

// 適用する商品IDリスト
private $targetProductIds = [54]; // 例: 商品ID 54 に適用

public function __construct(
CartItemRepository $cartItemRepository,
SessionInterface $session,
TranslatorInterface $translator
) {
parent::__construct($cartItemRepository, $session, $translator);
$this->cartItemRepository = $cartItemRepository;
$this->session = $session;
$this->translator = $translator;
}

/**
*
* @throws InvalidItemException
*/

public function addProduct($ProductClass, $quantity = 1)
{
$Product = $ProductClass->getProduct(); // ProductClass から Product を取得

// 特定の商品にのみ適用
if (in_array($Product->getId(), $this->targetProductIds)) {
$cartItems = $this->getCart()->getCartItems();

foreach ($cartItems as $cartItem) {
if ($cartItem->getProduct()->getId() === $Product->getId()) {
if ($cartItem->getProductClass()->getId() !== $ProductClass->getId()) {
// 異なる商品規格がカートにある場合、追加をブロック
return false;
}
}
}
}
return true;
}

}
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 同じ商品の別の規格をカートに入れさせないようにしたい beginner99 2025/3/19 14:26
     Re: 同じ商品の別の規格をカートに入れさせないようにしたい h_tanaka 2025/3/19 14:32
       Re: 同じ商品の別の規格をカートに入れさせないようにしたい beginner99 2025/3/19 14:43
     Re: 同じ商品の別の規格をカートに入れさせないようにしたい mcontact 2025/3/19 15:04
       Re: 同じ商品の別の規格をカートに入れさせないようにしたい beginner99 2025/3/19 15:14
         Re: 同じ商品の別の規格をカートに入れさせないようにしたい h_tanaka 2025/3/19 15:20
     Re: 同じ商品の別の規格をカートに入れさせないようにしたい tattsu 2025/3/22 10:21

 



ログイン


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

統計情報

総メンバー数は106,203名です
総投稿数は112,597件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2331
5
umebius
2085
6
h_tanaka
2002
7
yuh
1900
8
mcontact
1702
9
red
1582
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

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

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