我已经设置了一个观察者,sales_quote_add_item
以便在要添加某种产品时清除购物车(它只应该单独订购)。我只是不确定如何获取即将添加的产品的产品 ID。经过一些试验和错误,我想出了这个:
$tmp = $observer->getEvent()->getQuoteItem()->getData();
echo $tmp['product_id'];
这似乎是一个非常丑陋的解决方案。我确定有一些快捷方式或适当的功能可以调用这个,有什么想法吗?
使用以下代码获取报价项目数据的产品ID
$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item)
{
$productId = $item->getProduct()->getId();
}
希望这对您有所帮助。
您的解决方案足够好
$productId = $observer->getEvent()->getQuoteItem()->getProductId();
如果需要,您可以在之后加载产品
$product = Mage::getModel('catalog/product')->load($productId);