【发布时间】:2011-04-03 05:04:03
【问题描述】:
我们在结账页面有一个类似礼品卡余额使用的系统。而结账页面上的客户可以使用他们的礼品卡余额购买产品。
所以我在付款选项卡之前添加了一个选项卡,客户可以在其中选择从他们的礼品卡余额中输入使用的金额,所以当他们说继续时,我会在自定义 Onepage 控制器中获取输入的值并将其传递给 Onepage.php (模型类)减少总量。
这就是在模型类上所做的。
public function saveCustomDiscount($discount=0)
{
$this->getQuote()->setGrandTotal($this->getQuote()->getGrandTotal() - $discount);
$this->getQuote()->setBaseGrandTotal($this->getQuote()->getBaseGrandTotal() - $discount);
$this->getQuote()->save();
//$this->getQuote()->collectTotals()->save();
$order = $this->getQuote()->getData();
Zend_Debug::dump($order);
return array();
}
并且从控制器 Action 函数调用此函数正在获取用户输入。
这里作为折扣传递的总金额和基数并没有减少。它和原来的一样。
注意: 在自定义订单保存之前。
array(51) {
---------------
["grand_total"] => string(8) "243.7200"
["base_grand_total"] => string(8) "243.7200"
-----------------
}
自定义订单保存后。
array(51) {
---------------
["grand_total"] => float(223.72)
["base_grand_total"] => float(223.72)
-----------------
}
调试时数据类型从字符串变为浮点数。我必须做的是,从定制折扣中减少订单总额。请帮帮我。
谢谢
【问题讨论】:
标签: magento magento-1.4