タグ付けされた質問 「geoip」

1
Magento 2.1.9:国に基づいてストアを変更する
重要:GeoIP拡張機能を購入したくありません。マルチサイトおよびマルチストア設定のMagento 2.1.9 Webサイトを持っています。KSA、UAE、CHINA、EGYPTなどのウェブサイトをセットアップしました。各ウェブサイトの下に少なくとも2つのストアビューがあります。たとえば、KSAの場合、アラビア語と英語のストアビューがあります。 IPアドレスごとに、国に応じたWebサイトをユーザーに表示したい。たとえば、UAE(ar_uaeまたはen_uae)のユーザーと同様に、KSAからアクセスするユーザーの場合は、ar_sa(アラビア語-サウジアラビアのストアがデフォルトである必要があります)。 これまでに次のコーディングを行い、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 = …

4
Magento2:オブザーバーからカスタムURLにリダイレクト
私の要件は、顧客がインドの国のウェブサイトにアクセスした場合、インドのウェブサイトwww.example.com/in/にリダイレクトされることです。それ以外の場合はすべて、デフォルトのWebサイトのみにする必要があります。 geoipPHPライブラリを使用しています。私はフロントエンドイベントcontroller_action_predispatchを使用しましたが、これが私のオブザーバーコードです。 namespace Amit\Geoip\Observer; require_once 'lib/geoip.inc'; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Controller\ResultFactory; use Magento\Store\Model\StoreManager; class ControllerActionPredispatch implements ObserverInterface { protected $resultRedirectFactory; public function __construct( ResultFactory $resultFactory, StoreManager $storeManager ) { $this->resultFactory = $resultFactory; $this->storeManager = $storeManager; } public function execute(\Magento\Framework\Event\Observer $observer) { $baseUrl = $this->storeManager->getStore()->getBaseUrl(); $gi = geoip_open(getcwd()."/app/code/Amit/Geoip/Observer/lib/GeoIP.dat",GEOIP_STANDARD); $ip = $_SERVER['REMOTE_ADDR']; $country_code …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.