我正在创建一个 magento 扩展。我想以编程方式更新购物车中的商品数量。我正在使用以下代码来显示购物车中的商品。
$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
//Do something
}
我想要的是更新购物车上特定产品的数量。我知道可以这样做
$pid=15;
$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
if($pid==$item->getId())
$item->setQty($qty);
}
但我不喜欢这种方法,因为它会遍历每个产品来更新单个产品的数量。我想知道是否有一种方法可以在不使用 for 循环的情况下更新一行中的数量。