This is happening only when I save, for a store view, the Romanian locale.
On this shop, the allowed currencies are US$, Romanian Leu and EURO.
I set Currency Rates for each allowed currency: if US$ is default currency then I have a specific currency rate, if Romanian Leu is default currency another specific currency rate and exactly the same thing for EURO.
I searched on google about this error but the only solution that I founded was to clear var/cache and var/session … Well, that isn't a solution.
a:5:{i:0;s:24:"Currency 'USD' not found";i:1;s:5065:"#0
/app/code/core/Mage/Core/Model/Locale.php(576):
Zend_Currency->__construct('USD', Object(Zend_Locale))
/app/code/core/Mage/Directory/Model/Currency.php(233):
Mage_Core_Model_Locale->currency('RON')
/app/code/core/Mage/Directory/Model/Currency.php(238):
Mage_Directory_Model_Currency->formatTxt(0)
/app/code/core/Mage/Core/Model/Locale.php(682):
Mage_Directory_Model_Currency->getOutputFormat()
/app/code/core/Mage/Catalog/Block/Product/View.php(168):
Mage_Core_Model_Locale->getJsPriceFormat()
/app/design/frontend/magento-boilerplate/default/template/catalog/product/view.phtml(69):
Mage_Catalog_Block_Product_View->getJsonConfig()
/app/code/core/Mage/Core/Block/Template.php(241):
include('/home/mediaswit…')
/app/code/core/Mage/Core/Block/Template.php(272):
Mage_Core_Block_Template->fetchView('frontend/magent…')
/app/code/core/Mage/Core/Block/Template.php(286):
Mage_Core_Block_Template->renderView()
/app/code/core/Mage/Core/Block/Abstract.php(863):
Mage_Core_Block_Template->_toHtml()
/app/code/core/Mage/Core/Block/Text/List.php(43):
Mage_Core_Block_Abstract->toHtml()
/app/code/core/Mage/Core/Block/Abstract.php(863):
Mage_Core_Block_Text_List->_toHtml()
/app/code/core/Mage/Core/Block/Abstract.php(582):
Mage_Core_Block_Abstract->toHtml()
/app/code/core/Mage/Core/Block/Abstract.php(526):
Mage_Core_Block_Abstract->_getChildHtml('content', true)
/app/design/frontend/magento-boilerplate/default/template/page/2columns-right.phtml(51):
Mage_Core_Block_Abstract->getChildHtml('content')
/app/code/core/Mage/Core/Block/Template.php(241):
include('/home/mediaswit…')
/app/code/core/Mage/Core/Block/Template.php(272):
Mage_Core_Block_Template->fetchView('frontend/magent…')
app/code/core/Mage/Core/Block/Template.php(286):
Mage_Core_Block_Template->renderView()
/app/code/core/Mage/Core/Block/Abstract.php(863):
Mage_Core_Block_Template->_toHtml()
/app/code/core/Mage/Core/Model/Layout.php(555):
Mage_Core_Block_Abstract->toHtml()
/app/code/core/Mage/Core/Controller/Varien/Action.php(390):
Mage_Core_Model_Layout->getOutput()
/app/code/core/Mage/Cms/Helper/Page.php(137):
Mage_Core_Controller_Varien_Action->renderLayout()
/app/code/core/Mage/Cms/Helper/Page.php(52):
Mage_Cms_Helper_Page->_renderPage(Object(Mage_Cms_IndexController),
'no-route')
/app/code/core/Mage/Cms/controllers/IndexController.php(75):
Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController),
'no-route')
/app/code/core/Mage/Core/Controller/Varien/Action.php(419):
Mage_Cms_IndexController->noRouteAction()
/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250):
Mage_Core_Controller_Varien_Action->dispatch('noRoute')
/app/code/core/Mage/Core/Controller/Varien/Front.php(176):
Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
/app/code/core/Mage/Core/Model/App.php(354):
Mage_Core_Controller_Varien_Front->dispatch()
/app/Mage.php(683):
Mage_Core_Model_App->run(Array)
/index.php(87): Mage::run('',
'store')
Please help. Thank you.
Best Answer
Ok so I am not sure if this is the bug but if you compare the Magento 1.8 and Magento 1.7 versions of the function currency in Mage_Core_Model_Local you will notice a reference to a bug with Zend_Currency
Magento 1.7: Mage_Core_Model_Local->currency
Magento 1.8: Mage_Core_Model_Local->currency
My suggestion would be to try updating the try catch to match that of Magento 1.8 (I know this is not the best solution and obviously I would not suggest editing the core files but adding a rewrite)