Usually, the norm is to have the currency symbol on the left side of the amount. However, there are merchants who wish to have the currency symbol on the right side of the amount.
While speaking English, we speak “twenty dollars” (20$). Therefore, using the dollar sign after the amount is preferred.
Placing the amount and symbol in the order as we speak can also be acceptable.
The default Magento 2 shows the currency symbol on the left side. However, it does not have a feature to change the currency location from left to right.
Hence, I’ve come up with a programmatic solution to change currency symbol position in Magento 2.
Solution to Change Currency Symbol Position in Magento 2
- Create events.xml file at app/code/vendor/Exenstion/etc/frontend123456789<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"><event name="currency_display_options_forming"><observer name="change_currency_position" instance="vendor\Exenstion\Observer\ChangeCurrencyPosition"/></event></config>
- Create ChangeCurrencyPosition.php file at app/code/vendor/Exenstion/Observer1234567891011121314151617<?phpnamespace vendor\Exenstion\Observer;use Magento\Framework\Event\ObserverInterface;class ChangeCurrencyPosition implements ObserverInterface{public function execute(\Magento\Framework\Event\Observer $observer){$currencyOptions = $observer->getEvent()->getCurrencyOptions();$currencyOptions->setData('position', \Magento\Framework\Currency::RIGHT);return $this;}}
That’s it.
If you need help regarding this solution, feel free to ask in the Comments section below.
I’d be happy to help.
Do consider sharing this post with the Magento Community via social media.
Thank you.
Get Weekly Updates
Never miss Magento tips, tricks, tutorials, and news.
Thank you for subscribing.
Something went wrong.