Magento 2.2.4 GeoIP Redirect и параметры URL - PullRequest
0 голосов
/ 08 марта 2019

Я работаю в магазине, который использует Tobai_StoreSwitcher и Tobai_GeoIP для переключения магазинов. Это работает M2.2.4, и все работает нормально. Хотя совсем недавно я понял, что когда модуль перенаправляет кого-то из хранилища A в хранилище B, все исходные параметры в URL теряются.

Я попытался создать собственный переключатель магазина следующим способом, и у меня возникла та же проблема:

$_geoip = geoip_open(GEO_IP_DAT_FILE,GEOIP_STANDARD);
$_country_code = geoip_country_code_by_addr($_geoip, $ip);

if($_country_code == 'GB') {
  $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'gb';
  $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'store';
}

Я создал наблюдатель для сохранения параметров перед удалением с помощью перенаправления, но мне было интересно, если у кого-то еще была такая же проблема, и нашел ли способ перенаправления geoip без удаления параметров.

В Tobai_StoreSwitcher я заметил, что этот бит является виновником - бит $ this-> scopeCodeResolver-> reset ():

if ($storeId) {
    $this->storeManager->setCurrentStore($storeId);
    $this->scopeCodeResolver->reset();
}
...