アイテムがカートに追加されたときに発生するイベントをキャッチしようとしています。私は現在、次のイベントを見ています。checkout_cart_product_add_after
magentoのソースによると、このイベントはすべての見積もりが完了した後に発生します。しかし、カートIDと見積もりIDにアクセスすると、値が空になります。
$quoteItem = $observer->getQuoteItem();
$quote_item_id = $quoteItem->getItemId();
$cart = Mage::getSingleton('checkout/session');
$quote_id= $cart->getQuoteId();
カートにアイテムがない場合、上記は両方のIDに対して空を返します。カートにすでにアイテムが含まれている場合、カートIDには値がありますが、quote_item_idにはありません。
これは以前に尋ねられたことがあるが、質問は解決されておらず、議論はこの問題からはずれていることに注意してください。quote_item_idが必要です。
Mage::log($quoteItem)
を確認してくださいvar/log/system.log
。たぶんそこからアイデアを得るでしょう。
$quoteItem = $observer->getEvent()->getQuoteItem();