Magento Tutorials

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!

Click to rate this post!
[Total: 5 Average: 5]
Dhiren Vasoya

Dhiren Vasoya is a Director and Co-founder at MageComp, Passionate ?️ Certified Magento Developer?‍?. He has more than 9 years of experience in Magento Development and completed 850+ projects to solve the most important E-commerce challenges. He is fond❤️ of coding and if he is not busy developing then you can find him at the cricket ground, hitting boundaries.?

Recent Posts

Generating Thumbnails with Spatie Media Library in Laravel 11: A Step-by-Step Guide

Generating image thumbnails is a common requirement in web applications, especially when handling media-heavy content.…

18 hours ago

Enhancing Web Application Security with Laravel’s Built-In Features

In today’s digital landscape, web application security is paramount. As a powerful PHP framework, Laravel…

2 days ago

Magento 2 Extensions Digest October 2024 (New Release & Updates)

October was an exciting month for MageComp! From significant updates across our Magento 2 extension…

2 days ago

Improving Error Handling and Transition Management in Remix with useRouteError and useViewTransitionState

In modern web development, seamless navigation and state management are crucial for delivering a smooth…

1 week ago

Magento Open Source 2.4.8-Beta Release Notes

Magento Open Source 2.4.8 beta version released on October  8, 2024. The latest release of…

2 weeks ago

How to Create Catalog Price Rule in Magento 2 Programmatically?

Hello Magento Friends, Creating catalog price rules programmatically in Magento 2 can be a valuable…

2 weeks ago