Site icon MageComp Blog

How to get Currency data: Code, Rate, Symbol in Magento 2

Hello Magento Folks,

In this tutorial blog, I will help you to get the currency data like code, rate, and symbol in Magento 2. Also, check out my last published blog where I have illustrated How to Add Discount Component to Checkout Order Summary in Magento 2. Let’s get started with today’s article.

Basically when anyone utilizes the Magento 2 platform to develop an e-commerce/online store then there is a functionality where you can accept any currencies which depend on your customers and buyers. With the help of this illustration, I will assist you to fetch default, current currency code available currency code as well as allowed currency codes.

Steps to get Currency data: Code, Rate, Symbol in Magento 2:

Step 1: Declare in Vendor_Extension

You will use a block class of the module Vendor_Extension, then possibly inject the object of StoreManagerInterface & Currency class in the constructor of the module’s block class.

Path: app/code/Vendor/Extension/Block/Currency/Getdata.php

<?php

namespace Vendor\Extension\Block\Currency;

use Magento\Backend\Block\Template\Context;

use Magento\Store\Model\StoreManagerInterface;

use Magento\Directory\Model\Currency;

class Getdata extends \Magento\Framework\View\Element\Template

{

    protected $storeManager;

    protected $currency;

             public function __construct(

        Context $context,

        StoreManagerInterface $storeManager,

        Currency $currency,

        array $data = [])

    {

        $this->storeManager = $storeManager;

        $this->currency = $currency;

        parent::__construct($context, $data);

    }

    public function getCurrentStore()

    {

        return $this->storeManager->getStore();

    }

    public function getBaseCurrencyCode()

    {

        return  $this->getCurrentStore()->getBaseCurrencyCode();

    }

    public function getCurrentCurrencyCode()

    {

        return$this->getCurrentStore()->getCurrentCurrencyCode();

    }

    public function getDefaultCurrencyCode()

    {

        return $this->getCurrentStore()->getDefaultCurrencyCode();

    }

    public function getAvailableCurrencyCodes($BaseNotAllowed = false)

    {

        return $this->getCurrentStore()->getAvailableCurrencyCodes($BaseNotAllowed);

    }

    public function getAllowedCurrencies()

    {

        return $this->getCurrentStore()->getAllowedCurrencies();

    }

    public function getCurrentCurrencyRate()

    {

        return $this->getCurrentStore()->getCurrentCurrencyRate();

    }

    public function getCurrentCurrencySymbol()

    {

        return $this->currency->getCurrencySymbol();

    }

}

 

You can see more functions in vendor/magento/module-store/Model/Store.php and vendor/magento/module-directory/Model/Currency.php.

Step 2: Now, we will fetch the output in the currency data in the phtml file.

Run the below code for fetching and printing the currency symbol, currency code, and currency rate in the template phtml file. 

currencyData.phtml

 

<?php

echo $block->getCurrentCurrencySymbol() . '<br />';

echo $block->getCurrentCurrencyCode() . '<br />';

echo $block->getBaseCurrencyCode() . '<br />';

echo $block->getDefaultCurrencyCode() . '<br />';

echo $block->getCurrentCurrencyRate() . '<br />';

print_r($block->getAvailableCurrencyCodes()) . '<br />';

print_r($block->getAllowedCurrencies()) . '<br />';

 

That’s It

Wrap Up:

Hopefully, all are able to get Currency data: Code, Rate, Symbol in Magento 2 by following the above illustration. In case of any errors you face in the implementation of the above code then let me know in the comment section below. You can also utilize our Hire Magento Developer Service for implementing the above tutorial precisely in your Magento 2 store.

Share the article with your Magento Developer Friends

Happy Reading!

Exit mobile version