Magento - 获取给定产品ID的购物车商品

Biz*_*oss 6 magento

我尝试获取给定产品的购物车物品;

我试过这段代码:

$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/>";
}
Run Code Online (Sandbox Code Playgroud)

但它没有给出任何东西.

如何修改我的代码以正确的形式使用"getItemByProduct"?

感谢帮助.

clo*_*eek 10

getItemByProduct()返回第一个匹配,Mage_Sales_Model_Quote_Item因此不需要额外的循环.

$item = $quote->getItemByProduct($product);
if ($item !== false) echo $item->getId();
Run Code Online (Sandbox Code Playgroud)


Max*_*Max 1

我会用

foreach ($quote->getItems() as $item) {
    if ($item->getProductId() == $product->getId()) {
        print_r($item->getData());
    }
}
Run Code Online (Sandbox Code Playgroud)