目前,税收似乎根据登录客户的位置显示。
由于两个原因,这对我不起作用。我有一个扩展,根据客户IP自动显示货币加上没有登录选项,只是访客结账。
所以我真的需要根据显示的货币显示正确的价格。
有没有人知道代码的位置,或者如何正确调整显示的价格?
非常感谢任何帮助。
由于
-James
答案 0 :(得分:1)
我猜您应该扩展您用于根据IP地址显示货币的扩展程序。
找到填写了基于用户IP地址的货币的代码行,并调用:
$this->currency->set($currency_code);
其中$currency_code
应为3个字符的货币ISO代码(例如 USD , EUR 等)在管理中设置的货币。
这种方式您可以设置用于价格计算的货币 - 这反映了基于用户IP地址的货币。然后将此货币代码保存到会话和cookie中,以便它可以在OpenCart前端的任何页面上运行。
答案 1 :(得分:0)
我想是的
返回当前设定货币的3字符ISO 4217货币代码。
// Return when Pound Sterling is the set currency
$currency_code = $this->currency->getCode();
var_dump($currency_code); // string 'GBP' (length=3)
你也可以
$this->currency->set($currency_code);
请找到货币文件https://github.com/opencart/opencart/blob/master/upload/system/library/currency.php
由于
答案 2 :(得分:0)
我想我找到了正确的方法:转到文件系统/ library / tax.php。
第27行:
if(!$reg){
if($currentCurrency == "CHF"){
$country_id = 204;
}else if($currentCurrency == "EUR"){
$country_id = 81;
}
}
这将根据所选货币设置用户所在的国家/地区,并将设置用于纳税计算的国家/地区。