Magento 2.1.9:根据国家/地区更改商店
重要提示:我不想购买任何GeoIP扩展。我有一个具有多站点和多商店设置的Magento 2.1.9网站。我已经建立了KSA,阿联酋,中国,埃及等网站,每个网站下至少有2个商店视图,例如,对于KSA,我拥有阿拉伯语和英语商店视图。 我想根据用户所在国家/地区的IP地址向用户显示该网站。例如,对于从KSA访问的用户,ar_sa(阿拉伯语-沙特阿拉伯商店应为默认设置)类似于阿联酋的用户(ar_uae或en_uae)。 到目前为止,我已经完成了以下编码,并成功地从IP地址获得了国家/地区。 这是我的etc/frontend/events.xml文件: <config xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='urn:magento:framework/Event/etc/events.xsd'> <event name='controller_action_predispatch'> <observer name='Asoft_GeoIP_Redirect' instance='Asoft\GeoIP\Observer\Redirect' /> </event> </config> 这是我的Observer/Redirect.php: namespace Asoft\GeoIP\Observer; class Redirect implements \Magento\Framework\Event\ObserverInterface { protected $_objectManager; protected $_storeManager; protected $_curl; public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\HTTP\Client\Curl $curl ) { $this->_objectManager = $objectManager; $this->_storeManager = $storeManager; $this->_curl = $curl; …