Magento Baseを変更して通貨を表示する(そしてバックエンドの価格を自動更新し、EUR - > RON)

magento.stackexchange https://magento.stackexchange.com//questions/28841

質問

私は約400の製品を備えた古いMagento Ecommerceサイトを持っています。当初、バックエンドでもフロントエンドの両方でユーロになるようにされました。私はそれを現地通貨に完全に移行する必要があります。これは私が今のことをしたものです。そして、私は基本為替レートを設定してから、WebServiceXから毎日更新するように設定します。これは私の問題の半分を解決しました。ユーザーが入ったときに、彼はローカル通貨のサイトを提示し、そのオプションはトップバーでEURに切り替えることができます。しかし、私の問題は私が新しい製品を追加するとき、私をEURに尋ねます。私はどういうわけか、基本通貨を地元のRONとして設定する必要があります。しかし、私がRonにそれを設定した場合、価格は更新されません! - ベースがEURに設定されてRONに表示されている場合は、500EURの製品が2300rOとして表示されます。ベースとディスプレイの両方がRONにあるとき、500EURの製品が500ロンとして表示され、RONをベースとして設定した場合、変換は機能しません。私はEUR - >から自動的に価格を自動的に変換する必要があるので、RONに基づいてロンに基づいてデフォルトで入力することができます。どうやってやるの?私は手動で400製品を更新することはできません。

役に立ちましたか?

解決

これは価格を変えるべきものです。
私はそれが直接DBに触れることによってそれをするのが最善の方法ではないことを知っていますが、それは速くそしてそれが機能します。
これを試す前にDBをバックアップしてください。

だからすべての価格関連の値は、価格が遅い場合に備えて、表catalog_product_entity_decimalcatalog_product_entity_tier_priceに保持されます。
階層価格の場合は簡単です。
valueの値を変換された値で更新するだけです。
したがって、今日1Eの変換率は4.4193 Ronです。
このクエリを実行してください:

UPDATE `catalog_product_entity_tier_price` set `value ` = 4.4193 * `value`;
.

これはそれを解決する必要があります。
残りの価格のためにそれほど簡単ではありません。
まず、pricespecial_priceの属性IDを識別する必要があります。
そのためにこのクエリを実行してください。

SELECT 
    * 
FROM 
    `eav_attribute` e 
    LEFT JOIN `eav_entity_type` et ON `e`.`entity_type_id` = `et`.`entity_type_id`
WHERE 
    `e`.`attribute_code` IN ('price', 'special_price') AND
    `et`.`entity_type_code` = 'catalog_product'
.

これは2行を生成するはずです。列attribute_id値を取り出し、それらを以下のクエリで使用してください。私のためにこれらの値は7576でした。
価格を更新するためにこのクエリを実行してください。

UPDATE 
    `catalog_product_entity_decimal` 
SET 
    `value` = 4.4193 * `value`
WHERE
    `attribute_id` IN (75, 76)
.

再び4.4193は為替レートです。

今すぐあなたの基本通貨をRONに設定することができます。 キャッシュをクリアしてすべてを再インデックスします。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top