、ありがとうございました。これはおそらくバグと考えることができます。
レベルを下げる必要があるかもしれません。どのような方法でカートに商品を追加していますか?新しいメソッドを作成するためには、そのメソッドが自分自身で行っていること(DRYの原則に違反している)をエミュレートする必要があります。
...コードを今見てみましょう。
[OK]をクリックして、Mage/Sales/Model/Quote.php行を見てください。935:public function getItemsByProduct - これは、追加する製品が既に存在するかどうかを判断する場所です。これは、Mage/Sales/Model/Quote/Item.php行にある$ item-> representProductを呼び出します。301:public function representProduct
このクラスをモジュール/コードでオーバーライドしてこのメソッドを置き換えると、特別価格に差異があるかどうかを検出し、それに応じて反応する簡単なコードを追加します。
コードsnipet:
$specialPrice = $product->getSpecialPrice();
$thisSpecialPrice = $itemProduct->getSpecialPrice();
if((is_null($specialPrice) xor is_null($thisSpecialPrice))||
(!is_null($specialPrice) && !is_null($thisSpecialPrice && $specialPrice!=$thisSpecialPrice))){
return false;
}