我尝试创建一个ajax脚本,将可配置项添加到用户购物车。脚本在下面。
require_once('app/Mage.php');
umask(0);
Mage::app();
error_reporting(E_ALL);
ini_set('display_errors', 1);
$json = json_decode($_POST['json'],true);
$session = Mage::getSingleton('core/session', array('name'=>'frontend'));
if ( $_POST['form_key'] == $session->getFormKey() ) {
$cart = Mage::getSingleton('checkout/cart')->init();
$_product = Mage::getModel('catalog/product')->load($json['product']);
$cart->addProduct($_product,$json)->save();
$session->setCartWasUpdated(true);
echo $cart->getItemsQty();
} else {
echo "Access Denied";
}
此脚本通过POST获得以下内容。
"json" = "{"super_attribute": {"76":"10","576":"82"},"qty":"1","product":"532"}"
"form_key" = "**form_key**"
它将项目添加到购物车并按预期输出更新的数量。
我的问题是前端用户会话购物车永远不会更新。即使GetItemsQty输出增加的数字,“我的购物车”也是如此。前端的链接总是空的。
我甚至检查过$ session id与浏览器会话匹配。
答案 0 :(得分:0)
供将来参考,这一行
Mage::app();
需要包含以下内容
Mage::app(5)->loadArea('frontend');
'5'是商店ID