Magento从用户购物车中删除优惠券代码



我正在尝试构建一个jquery .post()调用,该呼叫将从getQuote模型中删除用户优惠券...我的问题是它不会出错,并且它不't删除代码。这是我在做的:

<?php
$mageFilename =  $_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php';
require_once $mageFilename;
Mage::setIsDeveloperMode(false);
umask(0);
Mage::app('admin');
$session = Mage::getSingleton('checkout/session');
$quote = $session->getQuote();
$error = "fail";

if (isset($_POST['rem_coup'])) { 
    Mage::getSingleton("checkout/session")->setData("coupon_code","");
    //Apply the coupon to quote incase there is already a product in the cart or a quote is already generated
    Mage::getSingleton('checkout/cart')->getQuote()->setCouponCode("")->collectTotals()->save();
   $error = "success";
}
echo $error;
?>

当然会返回"成功",但没有删除代码。

这是整体中的" removerfromcart.php"文件。我需要的只是一个简单的"从购物车中删除优惠券代码"脚本,我可以从jQuery .post()调用中远程使用。我在做什么错?

,由于您使用单独的脚本与Magento一起使用,因此您需要正确启动会话,以便能够使用Magento的会话。尝试在Mage::app()之后插入下一个代码:

Mage::getSingleton('core/session', array('name' => 'frontend'))->start();

我实际上弄清楚了...

<?php
$mageFilename =  $_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php';
require_once $mageFilename;
Mage::setIsDeveloperMode(true);
umask(0);
Mage::app('*******_english');

$error = "fail";
if (isset($_GET['rem_coup'])) { 
        Mage::getSingleton('core/session', array('name'=>'frontend'));
        Mage::helper('checkout/cart')->getQuote()->setData('coupon_code','')->save();  
        $error = "success";
}
?>

@ Slayer Birden-您大多是对的。我需要获取核心/会话。但是,使用我的结帐/购物车,我也需要Mage::helper而不是Mage::getSingleton。这是Ajax调用的工作版本。

相关内容

  • 没有找到相关文章

最新更新