Not 100% sure whats going wrong here but following fixed it for me:
lib/Zend/Locale/Data/ar_SA.xml
removed:
<numbers>
<decimalFormats>
<decimalFormatLength>
<decimalFormat>
<pattern>#0.###;#0.###-</pattern>
</decimalFormat>
</decimalFormatLength>
</decimalFormats>
<currencyFormats>
<currencyFormatLength>
<currencyFormat>
<pattern>ยค#0.00</pattern>
</currencyFormat>
</currencyFormatLength>
</currencyFormats>
</numbers>
here is what I did in a similar case.
Let's say you have 2 websites with 2 store view each. both website have a EN and a DE store view (codes can be anything).
First create 2 folders in the root of your magento install with 2 subfolders each.
Then copy index.php
and .htaccess
into website1
, website1/en
, website1/de
. Do the same for website2
and its subfolders.
Now edit index.php
from all the folders and subfolders like this:
website1/index.php
and website2/index.php
replace $mageFilename = MAGENTO_ROOT . '/app/Mage.php';
with $mageFilename = '../app/Mage.php';
and
Mage::run($mageRunCode, $mageRunType);
with
Mage::run('website code here for each website', 'website');
Then in the index.php
of each of the de|en
folders
change $mageFilename = MAGENTO_ROOT . '/app/Mage.php';
to $mageFilename = '.././app/Mage.php';
and
Mage::run($mageRunCode, $mageRunType);
to
Mage::run('each store view code here', 'store');
Now remove the Show store codes in url
flag.
In System->Configuration->web->unsecure
set the these values
Base Skin URL
: http://example.com/skin/
instead of {{unsecure_base_url}}skin/
Base Media URL
: http://example.com/media/
instead of {{unsecure_base_url}}media/
Base JavaScript URL
: http://example.com/js/
instead of {{unsecure_base_url}}js/
Do the same for the secure section if you are using secure urls just put https
instead of http
.
Now you have to create 2 virtual hosts, one for each website.
The document root for the first website will be website1
folder and for the second one website2
.
If you want you can create only one folder website1
but this means that you have to create the en
and de
folders in the root folder of your magento instance for the second website and your second website has to have the document root, the root of your magento instance.
Best Answer
To implement this functionality I would have a look on how the select works.
The select calls a JS function
switchStore
which is defined here:app/design/adminhtml/default/default/template/dashboard/store/switcher.phtml:56
This function calls a url:
\Mage_Adminhtml_Block_Store_Switcher::getSwitchUrl
and here I'm stuck. I have no idea where this url parameter is processed. So you have two options:
admin_session_user_login_success
after the login, redirect the user to the right store, which means get the url and set thestore
parameter.It might be needed to
die()
in your controller which is really bad habit, this is because of the header() after the event: