0

我尝试通过 Sku 从购物车中删除产品 - 可以吗?

我在 cartcontroller.php 中尝试了以下代码,但没有成功....

我知道它应该通过 ID 工作,但通过 Sku 对我来说会更容易。

$session = Mage::getSingleton('checkout/session');
$quote = $session->getQuote();

$cart = Mage::getModel('checkout/cart');
$cartItems = $cart->getItems();

foreach($cartItems as $item) {
  if ($item->getSku() == promo){
    $quote->removeItem($item->getId())->save();
  }
}

Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
$cart->init();
4

2 回答 2

1

超级接近...获取产品

if ($item->getProduct()->getSku() == promo){
于 2013-08-12T16:03:45.743 回答
1

尝试

$cartHelper = Mage::helper('checkout/cart');
$items = $cartHelper->getCart()->getItems();
foreach ($items as $item) {
    if ($item->getProduct()->getSku() == 'promo') {
        $cartHelper->getCart()->removeItem($item->getItemId())->save();     
        break;
    }
}

请参阅如何从 Magento 的报价中删除项目?

于 2013-08-12T16:06:58.673 回答