这里我们首先截断我们的magento购物车,
$cart = Mage::getModel('checkout/cart');
$cart->truncate()->save(); // remove all active items in cart page
$cart->init();
Mage::getSingleton('checkout/session')->clear();
在此之后,我们尝试添加产品
$cart = Mage::getSingleton('checkout/cart');
$cart->init();
$cart->addProduct($id,$qty);
它提供500内部服务器错误
注意:当我们将产品数量添加到最大值时,它只会出错。
实施例。可用数量。 100
在我的案例中$qty=100
注意:我们的代码工作正常,但只是第一次,其余的时间是出现此错误。
答案 0 :(得分:0)
找到答案,
我找到了答案,
$session = Mage::getSingleton('checkout/session');
$session->getQuote()->delete();
$session->clear();
$cart = Mage::getModel('checkout/cart');
$cart->setQuote($session->getQuote());
$product = Mage::getModel('catalog/product') -> load($product_id);
if ($product) {
if ($product -> isSaleable()) {
$cart -> addProduct($product, array('qty' => $qty));
}
}
// $session->setCartWasUpdated(true); // Not really necessary - Vicary
$cart->save();