Subtotal和BaseSubtotal有什么区别?

时间:2012-03-14 15:05:20

标签: magento e-commerce

Magento有一个丰富的销售模块,有很多选项,而且它有很好的文档记录高级别的东西,但是当涉及微妙的区别时我会被困住。我正在尝试整理一些订单分析软件,但我无法确切地弄清楚Magento订单的小计和baseSubtotal是如何不同的,我也没能找到那种详细程度的API文档。

我唯一能找到的是app/code/core/Mage/Sales/Model的源代码,但它似乎表明值总是相同的。

Order/Creditmemo/Total/Subtotal.php:        $creditmemo->setSubtotal($subtotal);
Order/Creditmemo/Total/Subtotal.php:        $creditmemo->setBaseSubtotal($baseSubtotal);
Order/Invoice/Total/Subtotal.php:        $invoice->setSubtotal($subtotal);
Order/Invoice/Total/Subtotal.php:        $invoice->setBaseSubtotal($baseSubtotal);
Quote.php:        $this->setSubtotal(0);
Quote.php:        $this->setBaseSubtotal(0);
Quote.php:            $address->setSubtotal(0);
Quote.php:            $address->setBaseSubtotal(0);
Quote.php:            $this->setSubtotal((float) $this->getSubtotal() + $address->getSubtotal());
Quote.php:            $this->setBaseSubtotal((float) $this->getBaseSubtotal() + $address->getBaseSubtotal());
Recurring/Profile.php:            ->setBaseSubtotal($billingAmount)
Recurring/Profile.php:            ->setSubtotal($billingAmount)

他们是否有所不同,如果有,怎么样?

1 个答案:

答案 0 :(得分:30)

区别在于Subtotal是客户货币的小计,BaseSubtotal是商店基本货币的小计。
因此,如果您的商店安装了欧元和美元,美元是基础货币,当您的欧洲客户下订单时,假设为100欧元,Subtotal将为100.0000,BaseSubtotal将为150.0000(本例1€== 1.5美元)
HTH