Opencart 对特定客户群隐藏税收

Opencart hide taxes from specific customer group

我想显示价格包括。仅对未注册用户或使用普通帐户注册的用户征税。对于批发商(客户组 id 2),价格应不含税,但在结账时添加。

我知道在商店的配置中有一个选项,但只适用于整个商店,而不适用于特定的用户组。

我知道我需要做一些事情

if(usergroup == 2){
   show price without tax
}else{
   show price with tax
}

但是核心的哪一行是将税添加到产品价格的那一行,它不应该影响结帐。有人做过吗?

"But where in the core is the line where the tax is added to the product price"

在文件中 <OC_ROOT>/system/library/tax.php, class Tax @functions calculate, getTax

但我不建议更改两者的核心实现Tax @ calculate, getTax,最好更改调用它们的代码,您会注意到在任何显示产品详细信息的控制器功能(例如畅销模块)中 price 是通过格式化 $this->tax->calculate($price...getTax... 的结果计算出来的,所以这是放置检查用户组 ID

的逻辑的最佳位置

"and where it should not affect the checkout"

如果你没有破解核心函数 calculate, getTax(而是像我之前所说的那样破解调用它们的代码),你不会影响任何事情

"Has anyone done this before?"

您可以在 extensions page

中查找是否有人已完成此操作