Support the VirtueMart project and become a member

Main Menu

Change VirtueMart currency per language

Started by sandomatyas, February 21, 2017, 14:31:59 PM

Previous topic - Next topic


I have a customer who has a shop with two languages and two currencies. When the visitor changes the language the currency should change too.
I created a system plugin to do something else and append a code part to onAfterInitialise method which checks if we just changed the language and if we did it tries to change the currency.
I tried some ways to do that:
$app->setUserState( "virtuemart_currency_id", 47 );
JFactory::getApplication()->input->set('virtuemart_currency_id', 47);
VmConfig::loadConfig()->set('user_selected_virtuemart_currency_id', 47);
When I change the language the currency doesn't change but when click somewhere else after that the I get the right currency. But of course I need it to the first click not the second one.
The weird part: It worked with Joomla 2.5 and VM 2.0 but not with the latest one.

Could you help me with this?



Moving from onAfterInitialise to onAfterRoute fixed the problem because JFactory::getLanguage() shows the previous language using onAfterInitialise method