在这里,我们首先截断了我们的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
注意:我们的代码运行良好,但只是第一次,其余时间它都会给出此错误。
找到答案,
我找到了答案,
$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();