文章彙整

Magento Geo IP 導向指南

Astral WebBy Astral Web 1 year agoNo Comments
首頁  /  網站設計與開發  /  後端開發  /  Magento Geo IP 導向指南

在多國多語系的網站架構下,往往有個需求是希望使用者第一次進入頁面時,可以自動進到該地區對應的語系頁面,而Magento商店上也有許多的套件可協助滿足此需求,但本篇文章要來介紹如何在沒有套件的支援下,自行將使用者導向到所屬地區的語系頁面。

環境介紹

  • PHP7.1
  • UBUNTU16.04
  • NGINX

執行步驟

  1. 安裝PHP-GEOIP
  2. 設定XML檔 (Magento)
  3. 在BLOCK裡面加上商業邏輯

安裝PHP-GEOIP

在ubuntu的安裝方式

apt install php-geoip

然後重啟FPM

systemctl reload php7.1-fpm

查看模組是否存在

php -m|grep 'geoip'

如果php-geoip有顯示在畫面上,表示模租安裝完成

設定XML檔

<reference name="header">
            <reference name="top.container">
                <block type="ipredirect/ipredirect" name="ipredirect" template="astralweb/ipredirect.phtml" />
            </reference>
</reference>

設定一個block 在layout xml裡,確保每個頁面都會讀取這個block。

在BLOCK裡面加上商業邏輯

	<?php
	class Astralweb_Ipredirect_Block_Ipredirect extends Mage_Core_Block_Template{
	
	    public function getIpredirect(){
		    //取得IP對應的國家代碼
		    $region = geoip_country_code_by_name(帶入使用者的IP);
		    
	    }
	}

取得國家代碼之後就可以決定要導向到哪個store了。

例如,我設定如果使用者的IP是屬於TW的話就要導向到台灣站。

	<?php
		class Astralweb_Ipredirect_Block_Ipredirect extends Mage_Core_Block_Template{
		
		    public function getIpredirect(){
			    //取得IP對應的國家代碼
			    $region = geoip_country_code_by_name(帶入使用者的IP);
			    
			    if($region = 'TW'){
		            echo "<script>location.href='http://new-mio.magento.com/tw/'</script>";
		        }
			    
		    }
		}

以上就是本次的分享,不要忘記訂閱我們的電子報,並追蹤歐斯瑞臉書粉絲團Instagram,隨時獲得最新的資訊分享!      

 000

推薦文章

Categories:
  後端開發Magento網站設計與開發

留下回應

你的電子郵件地址不會被公開.