我使用magento 1.9.1在各处搜索了解决方案。我的店里有两种不同的税,分别为6%和21%; magento在订单上免费送货时查看这些税。
我已设置了桌面费率,其中45欧元+应免费送货。现在它的免运费大约为56欧元(减去21%的税率会带来45欧元)。我该如何解决这个问题?
(PS:似乎Magento 1.9.1没有看app / code / core / Mage / Shipping / Model / Carrier / freeshipping.php,因为编辑这个文件后没有任何变化)
答案 0 :(得分:1)
要从表格费率计算运费(无论是免费还是非免费送货),请遵守税率,您可以延长Mage_Shipping_Model_Carrier_Tablerate
。当然最好在自己的扩展中这样做,但你也可以在本地代码池中覆盖它。由于这更快并且用于演示,我将表明:
将app/code/core/Mage/Shipping/Model/Carrier/Tablerate.php
复制到app/code/local/Mage/Shipping/Model/Carrier/Tablerate.php
。现在位于collectRates(Mage_Shipping_Model_Rate_Request $request)
上方的// Free shipping by qty
函数中添加以下代码:
if (Mage::helper('tax')->priceIncludesTax()) {
foreach ($request->getAllItems() as $item) {
$request->setPackageValue($request->getPackageValue() + $item->getTaxAmount());
}
}
计算基数将包括您的税。这是我在第一次讨论(据我所知):https://magento.stackexchange.com/questions/26434/shipping-method-table-rates-magento-v-1-7-always-include-tax-in-order-subtota