我正在使用一个相当新的Magento 1.8.0.0安装,没有对核心进行任何更改。当试图使税率为0%时,Magento在保存时返回以下错误:Rate Percent应为正数。
这只是Magento 1.8中的一个错误,让我不设税率为0%,或者我错过了什么?
答案 0 :(得分:1)
您需要覆盖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并从中复制 应用\代码\核心\法师\税\模型\计算\ Rate.php
重写你的代码。
这就是我的表现。 :) :) 希望这有帮助。
答案 1 :(得分:0)
所以似乎这个行为(在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.
它正在运作。