現在、税金はログインした顧客の場所に基づいて表示されているようです。
これは2つの理由でうまくいきません。顧客のIPに基づいて通貨を自動表示する拡張機能があります。さらに、ログインするオプションはなく、ゲストチェックアウトのみです。
そのため、代わりに表示される通貨に基づいて正しい価格を表示する必要があります。
コードがどこにあるか、または表示された価格を適切に調整する方法を知っている人はいますか?
どんな助けでも大歓迎です。
ありがとう
-ジェームズ
IPアドレスに基づいて通貨を表示するために使用している拡張機能を拡張する必要があると思います。
ユーザーの IP アドレスに基づく通貨が設定されているコード行を見つけて、次のように呼び出します。
$this->currency->set($currency_code);
は、管理で設定された通貨$currency_code
の 3 文字の通貨 ISO コード (例: USD、EURなど) である必要があります。
このようにして、価格計算に使用する通貨を設定し、ユーザーの IP アドレスに基づいて通貨を反映します。この通貨コードはセッションと Cookie に保存されるため、OpenCart フロントエンド内のどのページでも機能します。
これを行う正しい方法を見つけたと思います: ファイル system/library/tax.php に移動します。
27 行目:
if(!$reg){
if($currentCurrency == "CHF"){
$country_id = 204;
}else if($currentCurrency == "EUR"){
$country_id = 81;
}
}
これにより、選択した通貨に従ってユーザーの国が設定され、税計算の国が設定されます。