我使用的是相当新的 Magento 1.8.0.0 安装,核心没有任何变化。当尝试将税率设为 0% 时,Magento 在保存时返回以下错误:Rate Percent 应该是一个正数。
这只是 Magento 1.8 中的一个错误,使我无法设置 0% 税的税率,还是我遗漏了什么?
我使用的是相当新的 Magento 1.8.0.0 安装,核心没有任何变化。当尝试将税率设为 0% 时,Magento 在保存时返回以下错误:Rate Percent 应该是一个正数。
这只是 Magento 1.8 中的一个错误,使我无法设置 0% 税的税率,还是我遗漏了什么?
您需要覆盖 app\code\core\Mage\Tax\Model\Calculation\Rate.php
<config>
<global>
<models>
<mypackage_mymodule>
<class>MyPackage_MyModule_Model</class>
</mypackage_mymodule>
<tax>
<rewrite>
<calculation_rate>MyPackage_MyModule_Model_Calculation_Rate</calculation_rate>
</rewrite>
</tax>
</models>
</global>
创建一个新的 rate.php 并从 app\code\core\Mage\Tax\Model\Calculation\Rate.php 复制
重写你的代码。
我就是这样做的。:) :) 希望这可以帮助。
所以似乎这种行为(在 CE 1.8.0.0 中引入 - 它在 CE 1.7.0.2 中按预期工作)将被删除。
与此同时,您可以尝试重写 app/code/core/Mage/Tax/Model/Calculation/Rate.php 并删除这些行:
if (!is_numeric($this->getRate()) || $this->getRate() <= 0) {
Mage::throwException(Mage::helper('tax')->__('Rate Percent should be a positive number.'));
}
相反,您也可以更改要测试的代码,$this->getRate() < 0
而不是$this->getRate() <= 0.
它正在工作。