getRate()和Magento税百分比
我正在尝试获取给定邮政编码的税率(百分比,而不是货币),以便在第三方报价PDF打印输出中显示它(与Magento用作购物车预结账的“报价”无关)。虽然我对Magento还比较陌生,但getRateRequest()和getRate()似乎是两个主要函数,它们根据所有变量(产品税类、客户税类等)获取税率 因为这是针对第三方扩展的,而且我们所有的产品都是应税产品,所以我想我只需要使用getRate()和正确的Varien对象输入,它就会返回税率。经过一周的反复试验,我弄不明白为什么我总是得到零利率。我已经确认我正在调用getRate()函数,并且它不会从检查国家/地区和客户/产品类ID的第一个if()语句返回零。此外,我已经确认所有变量都在getRate()函数本身中传递和访问 我用下面的输入(基于getRateRequest()的输出)创建了一个对象,我用getRate()调用它,希望有人能解释我的数据输入有什么问题,或者为什么getRate()函数总是返回零的结果。(我实际上是在下面设置$variables,它们只是在前面定义的,下面是我的一个测试用例值) 我的备份计划是只执行一个直接SQL查找公式,尽管这可能会有点混乱。由于我们的web开发团队没有完全遵循良好的编码标准,所以,一旦初始发布修复(全部4页)到位,最终的站点重写将在我的未来进行 感谢您的帮助,并花时间阅读本文 编辑-堆栈溢出非常可怕:)如果您更改:getRate()和Magento税百分比,magento,Magento,我正在尝试获取给定邮政编码的税率(百分比,而不是货币),以便在第三方报价PDF打印输出中显示它(与Magento用作购物车预结账的“报价”无关)。虽然我对Magento还比较陌生,但getRateRequest()和getRate()似乎是两个主要函数,它们根据所有变量(产品税类、客户税类等)获取税率 因为这是针对第三方扩展的,而且我们所有的产品都是应税产品,所以我想我只需要使用getRate()和正确的Varien对象输入,它就会返回税率。经过一周的反复试验,我弄不明白为什么我总是得到零利率。
$TaxRequest->setRegionId(California);
到
其中$stateId是数字区域id。您的代码应该可以工作。您也可以尝试此方法
$store = Mage::app()->getStore('default');
$request = Mage::getSingleton('tax/calculation')->getRateRequest(null, null, null, $store);
$taxclassid = $product->getData('tax_class_id');
$percent = Mage::getSingleton('tax/calculation')->getRate($request->setProductClassId($taxclassid));
啊!一年有多大的不同,我们重新开始了我们网站的这一部分,这次我带着更多的知识遇到了我自己的问题。更新了我的代码以反映数字状态ID、国家代码,并在getStore()中传递,效果很好。非常感谢。谢谢你的主意!然而,在这种情况下,我不认为它总能给我们我想要的。我们有一些客户帐户是转售的,不需要纳税,看起来这个代码只针对一个产品,没有考虑客户纳税类别。
$TaxRequest->setRegionId($stateId);
$store = Mage::app()->getStore('default');
$request = Mage::getSingleton('tax/calculation')->getRateRequest(null, null, null, $store);
$taxclassid = $product->getData('tax_class_id');
$percent = Mage::getSingleton('tax/calculation')->getRate($request->setProductClassId($taxclassid));