製品にカスタム オプションがあり、顧客が別のカスタム オプションを選択できる場合、この場合、製品の数量は更新されません。製品が単純な場合、顧客がカートに製品を追加するたびに数量が更新されます。
同じ SKU の商品がカートに入っているか、イベント オブザーバーを使用していないかを確認できます。
イベントを使用checkout_cart_product_add_before
して、この商品がカートに既に存在するかどうかを確認できます。以下は、magento でさらにオブザーバーを作成する方法に関するコードのハイライトです。
設定ファイルは次のようになります
<config>
...
<frontend>
...
<events>
<checkout_cart_product_add_after>
<observers>
<unique_event_name>
<class>{{modulename}}/observer</class>
<method>CheckItem</method>
</unique_event_name>
</observers>
</checkout_cart_product_add_after>
</events>
...
</frontend>
...
そして、オブザーバーで、何かがカートに入っているかどうかをロジックで確認します
class <namespace>_<modulename>_Model_Observer
{
public function CheckItem(Varien_Event_Observer $obs)
{
// Get the quote item
$item = $obs->getQuoteItem();
//and put your logic here to match item with sku
}
}