1

我已经设置了一个观察者,sales_quote_add_item以便在要添加某种产品时清除购物车(它只应该单独订购)。我只是不确定如何获取即将添加的产品的产品 ID。经过一些试验和错误,我想出了这个:

    $tmp = $observer->getEvent()->getQuoteItem()->getData();
    echo $tmp['product_id'];

这似乎是一个非常丑陋的解决方案。我确定有一些快捷方式或适当的功能可以调用这个,有什么想法吗?

4

2 回答 2

1

使用以下代码获取报价项目数据的产品ID

$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) 
{
   $productId = $item->getProduct()->getId();
}

希望这对您有所帮助。

于 2013-01-28T09:39:37.920 回答
1

您的解决方案足够好

$productId = $observer->getEvent()->getQuoteItem()->getProductId();

如果需要,您可以在之后加载产品

$product = Mage::getModel('catalog/product')->load($productId);
于 2013-01-28T09:43:45.293 回答