Hi,
It turns out it is kindof a bug.
When the language is changed in Ceon URI Mapping, it actually unsets the language parameter so that it isn't added to all the URIs (Zen Cart would otherwise always append it like: yoursite.com/your-category?language=XX).
The only script that uses $_GET['language'] outside of the languages script (which is already superseded by Ceon URI Mapping) is of course init_currencies.php.. so that's the problem!
As far as I can see, the only sideeffect of the current code is that when you switch language, the currency doesn't reset to the default language currency for the store.. is that the behaviour you were expecting that isn't occurring?
If so, I think the following may fix things, please try it:
In includes/init_includes/init_currencies.php change
PHP Code:
if ($new_currency == false || isset($_GET['language'])) $new_currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? zen_currency_exists(LANGUAGE_CURRENCY) : $new_currency;
to
PHP Code:
if ($new_currency == false || $language_changed) $new_currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? zen_currency_exists(LANGUAGE_CURRENCY) : $new_currency;
Let me know how you get on.
Again, if there are any problems, I'll need a full diagnosis by you about what exact steps you are taking, what URIs you are using and what you are expecting to see happen.
All the best..
Conor
ceon
Bookmarks