Subtotal和BaseSubtotal有什么区别?

koj*_*iro 9 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)
Run Code Online (Sandbox Code Playgroud)

他们有没有不同,如果是的话,怎么样?

OSd*_*ave 31

不同之处在于,它Subtotal是客户货币BaseSubtotal的小计,是商店基础货币的小计.
因此,如果您的商店中安装了欧元和美元,美元是基础货币,当您的欧洲客户下订单时,假设为100欧元,则为Subtotal100.0000,BaseSubtotal将为150.0000(此示例为1€== 1.5美元) )
HTH

  • @kojiro我在过去的3年里一直在工作,我不记得我想到这一点的那一刻.但可能我在搜索+ xdebuging会话中进行了谷歌搜索+挖掘. (3认同)
  • @kojiro这个链接很好地解释了这个主题:http://classyllama.com/magento/a-guide-to-currency-prices-for-orders-invoices-and-quotes/ (2认同)