3

I have setup a fresh Magento 2.1.3 installation with four websites that all have only one Store view. I want to set the locale on website level and leave the Store view level as 'Use Website' but instead of the website level the default level is used:

enter image description here

The Default Config is English, the website level (for the first website, but it's the same for the other websites) is set to Dutch but the Store view level shows English instead of Dutch.

When opening the website frontend in a browser, it runs with English language settings. After changing the Store view level to Dutch, the website language settings are Dutch as expected. But I would rather like to make the settings on the highest possible level.

This behavior is the same with all the other settings as well like Base URL, currencies, etc.

Has this changed from Magento 1 to Magento 2 or is there another setting that influence this?

1 Answer 1

0

This seems to be a bug in Magento 2.1.3.

https://github.com/magento/magento2/issues/7815 https://github.com/magento/magento2/issues/7840

The problem is here Magento\Store\Model\Config\Processor\Fallback::getWebsiteConfig(). This line $code = $website['website_id']; should be replaced with $code = $website['code']; As a workaround you can create your own module and extend the Fallback class using di.xml, but since almost all methods and properties has a 'private' scope, you will need to override them all.

After changing 'website_id' to 'code' the website value is used instead of the default value.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.