Saya memiliki pengaturan dengan dua tampilan toko.
Tampilan toko pertama memiliki basis dan satu-satunya mata uang yang ditetapkan ke USD. Yang kedua memiliki 2 mata uang yang diperbolehkan - USD dan EUR. EUR adalah default yang ditampilkan, USD ditetapkan sebagai basis.
Harga semua produk ditetapkan hanya dalam USD dan nilai tukar untuk EUR diatur ke 0,75. Harga produk adalah katakanlah $ 14.
Dan kode saya berjalan:
// Store ID 2 - default currency EUR, base currency USD
// $product is instance of Magento\Catalog\Model\Product
$priceInfo = $product->getPriceInfo();
$price = $priceInfo->getPrice('regular_price')->getValue();
Kode ini selalu mengambil harga yang benar (10,50) dalam EUR. Tetapi saya membutuhkan kedua harga - dalam USD dan EUR, tetapi saya tidak menemukan cara untuk meneruskan mata uang ke getPrice
metode apa pun .
Saya mencoba menggunakan Magento\Directory\Helper\Data
untuk mengonversi:
$helper->currencyConvert($price, 'EUR', 'USD');
Tapi itu memberi saya $ 13,99 ketika harga riil dalam USD adalah $ 14 - jadi perhitungannya salah.
Apakah Anda tahu bagaimana saya bisa mendapatkan harga produk untuk kedua mata uang toko? Terima kasih banyak!