目前,稅款似乎基於登錄客戶的位置顯示。根據Opencart中的貨幣計稅
由於2個原因,這對我無效。我有一個基於客戶IP自動顯示貨幣的擴展程序,並且沒有用於登錄的選項,它只是來賓結帳。
所以我真的需要它來顯示正確的價格基於所顯示的貨幣。
有沒有人有任何想法代碼是這樣的請或如何適當調整顯示的價格?
任何幫助,非常感謝。
感謝
- 詹姆斯
目前,稅款似乎基於登錄客戶的位置顯示。根據Opencart中的貨幣計稅
由於2個原因,這對我無效。我有一個基於客戶IP自動顯示貨幣的擴展程序,並且沒有用於登錄的選項,它只是來賓結帳。
所以我真的需要它來顯示正確的價格基於所顯示的貨幣。
有沒有人有任何想法代碼是這樣的請或如何適當調整顯示的價格?
任何幫助,非常感謝。
感謝
- 詹姆斯
我想你應該延長您正在使用基於IP地址顯示貨幣的擴展。
找到的代碼行的貨幣根據用戶的IP地址被填充並稱之爲:
$this->currency->set($currency_code);
其中$currency_code
應該是一個3字符貨幣ISO代碼(例如美元,EUR,等等)在管理中設定的貨幣。
這種方式您可以將貨幣設置爲用於價格計算 - 並反映基於用戶IP地址的貨幣。然後,該貨幣代碼將保存到會話和Cookie中,以便它可以在OpenCart前端中的任何頁面上運行。
我是這麼認爲的
返回當前設置的貨幣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
感謝
我想我已經找到了正確的方式做到這一點:進入文件系統/庫/tax.php。
第27行:
if(!$reg){
if($currentCurrency == "CHF"){
$country_id = 204;
}else if($currentCurrency == "EUR"){
$country_id = 81;
}
}
這將設置該國的使用者在根據所選擇的貨幣,並且將設置爲國家稅收的計算。
Hi @jimbeeer。你有沒有設法解決這個問題?如何? – m1crdy 2015-03-23 10:18:48
Hi @ m1crdy。我試圖記住我是如何對這個問題進行分類的(甚至我最初試圖說的!)。查看我的文件,我可以看到我發佈這一天後,我購買了一個名爲「Country to Currency」的opencart擴展程序。也許這就是你正在尋找的解決方案? http://www.opencart.com/index.php?route=extension/extension/info&extension_id=445&filter_search=country%20currency – jimbeeer 2015-03-23 14:34:33