Настройки, определенные в областях веб-сайта, игнорируются
Начиная с одного месяца, я создал многоэтажную платформу под Magento 2. Все отлично работало в версии 2.1.2, но с тех пор, как я обновил его в 2.1.3 две недели назад у меня возникла большая проблема :
Все настройки, определенные в областях веб-сайта, игнорируются.
Например, если я установлю minimal order amount
для одного из моих веб-сайтов, я могу нормально заказывать без каких-либо ограничений (не нормально). Но если бы я определил этот параметр в области по умолчанию, ограничение работа.
1 answers
Это основная ошибка в 2.1.3 - https://github.com/magento/magento2/issues/7943
Здесь есть решение этой проблемы - https://github.com/magento/magento2/blob/develop/app/code/Magento/Store/Model/Config/Processor/Fallback.php#L109
Чтобы сохранить переход по ссылке, вам нужно внести следующее изменение vendor/magento/module-store/Model/Config/Processor/Fallback.php
Измените это
/**
* Retrieve Website Config
*
* @param array $websites
* @param int $id
* @return array
*/
private function getWebsiteConfig(array $websites, $id)
{
foreach ($this->websiteData as $website) {
if ($website['website_id'] == $id) {
$code = $website['website_id'];
return isset($websites[$code]) ? $websites[$code] : [];
}
}
return [];
}
До
/**
* Retrieve Website Config
*
* @param array $websites
* @param int $id
* @return array
*/
private function getWebsiteConfig(array $websites, $id)
{
foreach ($this->websiteData as $website) {
if ($website['website_id'] == $id) {
$code = $website['code'];
return isset($websites[$code]) ? $websites[$code] : [];
}
}
return [];
}
Обратите внимание на строку
$code = $website['code'];
В идеале вы должны сделать это как исправление - см. http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/