【问题标题】:Tax based on currency in Opencart基于 Opencart 中货币的税收
【发布时间】:2015-03-24 22:15:51
【问题描述】:

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

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

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

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

非常感谢任何帮助。

谢谢

-詹姆斯

【问题讨论】:

  • 嗨@jimbeeer。你有没有设法解决这个问题?以及如何?
  • 嗨@m1crdy。我绞尽脑汁想记住我是如何对这个问题进行分类的(或者甚至是我最初想说的!)。查看我的文件,我可以看到我在发布后的第二天购买了一个名为“Country to Currency”的 opencart 扩展。也许这就是您正在寻找的解决方案? opencart.com/index.php?route=extension/extension/…

标签: opencart currency


【解决方案1】:

我猜你应该扩展你用于基于 IP 地址显示货币的扩展。

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

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

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

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

【讨论】:

    【解决方案2】:

    我想是的

    返回当前设置货币的 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

    谢谢

    【讨论】:

      【解决方案3】:

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

      第 27 行:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-17
        • 1970-01-01
        相关资源
        最近更新 更多