2

getQuoteモデルからユーザークーポンを削除するJQuery.post()呼び出しを作成しようとしています...私の問題は、エラーが発生せず、コードも削除されないことです。これが私がしていることです:

<?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;

?>

もちろん「成功」を返しますが、コードは削除されません。

これは、全体として「removeFromCart.php」ファイルです。必要なのは、jQuery .post()呼び出しからリモートで使用できる単純な「カートからクーポンコードを削除する」スクリプトです。私は何が間違っているのですか?

4

2 に答える 2

1

私は実際にそれを理解しました...

<?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";
}
?>

@スレイヤーバーデン-あなたはほとんど正しかった。getコア/セッションが必要でした。しかし、私のチェックアウト/カートでは、私も必要Mage::helperありませんでしMage::getSingletonた。これは、AjaxCallの動作バージョンです。

于 2012-10-18T22:56:50.943 に答える
1

別のスクリプトを使用してMagentoを操作しているため、Magentoのセッションを使用できるようにするには、セッションを適切に開始する必要があります。次のコードを挿入してみてくださいMage::app()

Mage::getSingleton('core/session', array('name' => 'frontend'))->start();
于 2012-10-18T21:46:35.263 に答える