İki mağaza görünümü olan bir kurulum var.
İlk mağaza görünümü temel ve yalnızca bir para birimi ABD Doları olarak ayarlanmış. İkincisi 2 izin verilen para birimine sahiptir - USD ve EUR. EUR, görüntülenen varsayılan değerdir, USD temel olarak ayarlanır.
Tüm ürünlerin fiyatları sadece ABD Doları olarak ve EUR kuru 0,75 olarak belirlenmiştir. Ürünün fiyatı 14 $ diyelim.
Ve kodum gidiyor:
// 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();
Bu kod her zaman EUR cinsinden doğru fiyatı (10.50) getirir. Ama her iki fiyata da ihtiyacım var - USD ve EUR cinsinden, ancak herhangi bir getPrice
yönteme para birimi aktarmanın bir yolunu bulamadım .
Magento\Directory\Helper\Data
Dönüştürmek için kullanmaya çalıştım :
$helper->currencyConvert($price, 'EUR', 'USD');
Ama USD'deki gerçek fiyat 14 $ olduğunda bana 13.99 dolar veriyor - bu yüzden hesaplama yanlış.
Her iki mağaza para birimi için ürün fiyatlarını nasıl alabilirim biliyor musunuz? Çok teşekkürler!