我试图删除只有一个数量从我的购物车,而不是所有,但无济于事。
有人能帮忙吗?
这是我到目前为止得到的代码...
require_once 'app/Mage.php';
Mage::app("default");
Mage::getSingleton("core/session", array("name" => "frontend"));
$session = Mage::getSingleton("customer/session");
$yourProId = $_POST['prodID'];
$qty = 1;
foreach (Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item) {
if ($yourProId == $item->getProductId()) {
Mage::getSingleton('checkout/cart')->removeItem($item->getId())->save();
}
}
UPDATE:下面是工作的代码,感谢R.S.!
$yourProId = $_POST['prodID'];
$qty=1;
$cartHelper = Mage::helper('checkout/cart');
$items = $cartHelper->getCart()->getItems();
foreach ($items as $item) {
if ($item->getProduct()->getId() == $yourProId) {
$qty = $item->getQty() - 1; // check if greater then 0 or set it to what you want
if($qty == 0) {
Mage::getSingleton('checkout/cart')->removeItem($item->getId());
} else {
$item->setQty($qty);
}
$cartHelper->getCart()->save();
break;
}
}
3条答案
按热度按时间qxsslcnc1#
尝试
请访问/app/code/core/Mage/Checkout/controllers/CartController. php了解更多信息。
请参阅http://www.magentocommerce.com/boards/viewthread/30113/
nfg76nw02#
您可以使用$quoteItem-〉setData('qty',$avl_qty)来更改或删除数量;请参阅程式码以取得更多说明。
f0brbegy3#
对于Magento 2,您可以使用https://yourdomain.com/rest/V1/carts/mine/items API与身份验证令牌和主体