在观察者中获得篮子产品ID

时间:2013-01-28 09:34:06

标签: php magento observers

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

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

这似乎是一个非常难看的解决方案。我确定有一些快捷方式或适当的功能可以为此提出任何想法吗?

2 个答案:

答案 0 :(得分:1)

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

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

希望这对你有所帮助。

答案 1 :(得分:1)

你的解决方案已经足够了

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

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

$product = Mage::getModel('catalog/product')->load($productId);