我正在使用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();
}