Table of Contents
Have you ever noticed that product prices on the product view page in Magento 2.4.3 suddenly become 0,00 after the page has finished loading? This is a known bug in Magento 2.4.3, which has annoyed many store owners and developers.
Let’s break down what causes this issue and how you can fix it.
What’s the Problem?
In Magento 2.4.3, a product price is correctly shown at first. However, after the page has finished loading — especially with frontend logic and JavaScript involved — the product price shows as 0,00.
This happens due to a bug in the Currency.php file in the Magento Directory module. Specifically, there is a part of code trying to format a price with a null value for currency symbols, resulting in a 0 being displayed.
How to Fix It
To fix this issue, you’ll need to edit the Currency.php file inside the Magento core files. Here’s how:
File path:
vendor/magento/module-directory/Model/Currency.php
- Open the file in your code editor.
- Go to lines 368 to 370.
- Comment out or remove these lines of code:
//$options['currency_symbol'] = null;
//$locale = $this->localeResolver->getLocale();
//$formatter = new \NumberFormatter($locale, \NumberFormatter::CURRENCY);This prevents Magento from overriding currency formatting options, which is the cause of the problem.
Important Notes
- This is a temporary solution. The core files should not be modified in production environments. It could be overwritten during future updates.
- You should ideally extend or override this logic in a custom module or wait for an official patch from Adobe.
- Always create a backup before making changes in core files.
Developer Discussion
This bug was discussed in detail on GitHub in this Magento 2 issue thread (#33856). A number of developers agreed that commenting out lines 368–370 resolved the problem for them.
Summary
If you see that the product price shows as 0,00 on the product view page in Magento 2.4.3, it’s likely caused by the currency formatting bug. Until Adobe issues an official fix, commenting out a few lines in Currency.php offers a simple workaround.