Saya ingin mengonversi angka menjadi format mata uang dalam magento2 seperti yang kami lakukan di Magento 1.x dengan ini
$_coreHelper = $this->helper('core');
$_coreHelper->currency(number_format(50,2),true,false)
Bagaimana melakukan hal yang sama di Magento2?
Jawaban:
Di Magento 2, tidak ada modul 'inti'. Anda bisa mendapatkan ini dengan mengikuti cara di dalam file tampilan (.phtml)
sumber
currency()
Metode akan menggunakan mata uang lingkup saat ini untuk mengkonversi.number_format()
dan hanya melewati jumlah:$this->helper('Magento\Framework\Pricing\Helper\Data')->currency(50),true,false);
currency($value, $format = true, $includeContainer = true)
Pertama-tama jangan lakukan pemformatan mata uang di dalam file view (.phtml) Anda, gunakan bantuan atau blok atau kombinasi keduanya.
Jawaban yang diterima menggunakan
number_format
fungsi yang tidak boleh digunakan sama sekali, setidaknya saya tidak akan pergi dengan pendekatan itu.Anda dapat mencoba menggunakan model:
Model jenis
Magento\Directory\Model\Currency
. Berfungsiformat()
sebagai orang yang bertanggung jawab atas tempat desimal dan pemformatan.Contoh dengan asumsi variabel
$model
dan$product
telah dipakai:$model->format($product->getPrice(), array('symbol' => ''), false, false)
2 tempat desimal untuk pemformatan tanpa
$
dolar di sebelah jumlahnya. Lewati kosongarray()
jika Anda ingin menyimpan mata uang yang ditambahkan ke jumlah Anda.sumber
Magento\Directory\Model\Currency
dilakukan, dan mengapa itu harus digunakan? Apakah ini terlihat pada konfigurasi mata uang storeview saat ini, atau mata uang yang dipilih oleh pelanggan?Currency
model dalam modul Direktori seperti pembantu untuk memanipulasi nilai harga akhir. Dalam contoh helper dari Framework Anda akan dapat mengkonversi harga ke mata uang yang benar dari toko tetapi Anda tidak memiliki kontrol atas ketepatan jumlah dan harus memperluas kelas untuk mendapatkannya disesuaikan. Mata uang adalah kebalikannya di mana ia mengharapkan jumlah akhir tetapi memungkinkan Anda untuk menyesuaikan pemformatan, presisi desimal, dll.Yang ingin Anda lakukan adalah menyuntikkan " PriceCurrencyInterface " di Blok file templat tempat Anda ingin menggunakannya.
template.phtml
Item.php (Blokir Kelas dari template di atas ... apa pun itu)
Ini memiliki manfaat tambahan untuk menampilkan format yang benar berdasarkan lokasi toko saat ini. Ini juga menawarkan metode lain yang mungkin bisa membantu, periksa ...
Pastikan untuk memeriksa tanda tangan metode karena Anda dapat mengonfigurasi hasil yang ingin Anda tampilkan seperti wadah dan presisi .
priceCurrency->convertAndFormat($amount, $includeContainer, $precision)
Tepuk tangan!
sumber
Anda bisa mendapatkannya dengan mengikuti cara di dalam file tampilan (.phtml).
sumber
currency($value, $format = true, $includeContainer = true)
$this->
ketika saya memanggil saran Anda di dalam suatu fungsiMenggunakan bantuan harga
Ini menghasilkan simbol harga dan mata uang dari produk yang diberikan.
sumber