我尝试获取给定产品的购物车物品;
我试过这段代码:
$product = Mage::getModel('catalog/product')
->setStoreId(Mage::app()->getStore()->getId())
->load('2784');
$quote = Mage::getSingleton('checkout/cart')->getQuote();
$cartItems = $quote->getItemByProduct($product);
foreach ($cartItems as $item) {
echo $item->getId()."<br/>";
}
但它没有给出任何东西。
如何修改我的代码以正确的形式使用“getItemByProduct”?
感谢您的帮助。
答案 0 :(得分:10)
getItemByProduct()
返回第一个匹配的Mage_Sales_Model_Quote_Item
,因此无需额外的循环。
$item = $quote->getItemByProduct($product);
if ($item !== false) echo $item->getId();
答案 1 :(得分:1)
我用
foreach ($quote->getItems() as $item) {
if ($item->getProductId() == $product->getId()) {
print_r($item->getData());
}
}
答案 2 :(得分:1)
您无法在getItemByProduct()
或checkout/cart
模型上使用checkout/quote
函数,因为该方法属于sales/quote
模型。
您可以在Mage_Sales_Model_Quote class
找到此方法。所以它与sales/quote
一起使用。希望这很有用。