1

目前,税收似乎是根据登录客户的位置显示的。

这对我不起作用有两个原因。我有一个扩展程序,可以根据客户 ip 自动显示货币,而且没有登录选项,它只是客人结帐。

所以我真的需要它根据显示的货币显示正确的价格。

有谁知道代码在哪里,或者如何正确调整显示的价格?

任何帮助是极大的赞赏。

谢谢

-詹姆士

4

3 回答 3

1

我想您应该扩展您用于基于 IP 地址显示货币的扩展名。

找到填充基于用户 IP 地址的货币的代码行并调用:

$this->currency->set($currency_code);

其中$currency_code应该是管理中设置的货币的 3 个字符的货币 ISO 代码(例如USDEUR等)。

通过这种方式,您可以设置用于价格计算的货币——这反映了基于用户 IP 地址的货币。然后将此货币代码保存到会话和 cookie 中,以便它可以在 OpenCart 前端的任何页面上工作。

于 2013-03-28T16:06:34.473 回答
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

谢谢

于 2015-03-24T13:11:01.477 回答
0

我想我找到了正确的方法:转到文件系统/库/tax.php。

第 27 行:

if(!$reg){
            if($currentCurrency == "CHF"){
                $country_id = 204;
            }else if($currentCurrency == "EUR"){
                $country_id = 81;
            }
        }

这将根据所选货币设置用户所在的国家/地区,并将设置国家/地区进行税收计算。

于 2015-03-24T14:15:51.227 回答