Magento更改总计
我有一个要求,客户只需在线支付总金额的一定百分比。其余的是实物支付。因此,如果客户购买100美元的产品,那么他只需支付其中的5%,即仅需支付5美元。因此,购物车、结帐、订单、发票、信用备忘录等总共需要5美元。我试图通过创建一个新的总数来实现它,如下面的教程中所示。但后来我想我不需要添加新的总数,只需要修改总数。因此,我尝试通过观察事件sales(销售)_quote(报价)_collect(收集)_totals(总计)_,之后我根据需要更改了总计和基本总计)来实现观察者。但保存后,总计仍然更改为原始总计,而不是修改后的总计。 以下是我如何实现observer的示例:Magento更改总计,magento,events,observers,totals,Magento,Events,Observers,Totals,我有一个要求,客户只需在线支付总金额的一定百分比。其余的是实物支付。因此,如果客户购买100美元的产品,那么他只需支付其中的5%,即仅需支付5美元。因此,购物车、结帐、订单、发票、信用备忘录等总共需要5美元。我试图通过创建一个新的总数来实现它,如下面的教程中所示。但后来我想我不需要添加新的总数,只需要修改总数。因此,我尝试通过观察事件sales(销售)_quote(报价)_collect(收集)_totals(总计)_,之后我根据需要更改了总计和基本总计)来实现观察者。但保存后,总计仍然更改为原
public function calculatePartialPrice($observer) {
$quote = $observer->getEvent()->getQuote();
$grandTotal = $quote->getGrandTotal();
$baseGrandTotal = $quote->getBaseGrandTotal();
$partialPrice = $grandTotal * 0.05;
$basePartialPrice = $baseGrandTotal * 0.05;
$quote->setGrandTotal($partialPrice);
$quote->setBaseGrandTotal($basePartialPrice);
$quote->save();
}
这是我的配置文件:
<events>
<sales_quote_collect_totals_after>
<observers>
<partial_price_observer>
<type>singleton</type>
<class>magesage_partialprice/observer</class>
<method>calculatePartialPrice</method>
</partial_price_observer>
</observers>
</sales_quote_collect_totals_after>
</events>
独生子女
麦哲哲·帕蒂尔普莱斯/观察员
计算部分价格
请建议我的代码有什么问题,或者建议更好的实现方法。尝试将grand_total&base_grand_total更改为subtotal和base_subtotal Setters我尝试了$quote->setGrandTotal($partialPrice);和$quote->setbasegrandotal($basePartialPrice);但这种变化只在观察者函数中出现,但后来总数又变回原来的总数。