Magento - 按国家/地区使用IPaddress的产品

Vas*_*R.P 1 ip country product magento

我想添加一个带有以下选项的单选按钮

显示产品

> United States
> International
> Both
Run Code Online (Sandbox Code Playgroud)

选择后,产品将在前端显示使用IP检测的相应客户

我谷歌它,我发现了一个插件

http://www.magentocommerce.com/magento-connect/Vinay.N+%28+Tumkur%2CKethohalli%29/extension/2413/product-by-ipaddress

但它与Magento ver不兼容.1.5.0.1.请帮忙.谢谢

ʍǝɥ*_*ʇɐɯ 5

为您的商店设置两个网站,其中"网站"不一定意味着不同的网址,只是,在内部为Magento它是一个"网站".对于此示例,请使用代码'usd'和'row'.

如果您可以在发行版上安装软件包,请在Apache中使用GeoIP.如果没有,那么你可以使用PHP geoip插件 - 再次看看你的设置推荐什么.

要将您的客户发送到Magento认为是网站的内容,网站访问者不知道他们已被"重定向".在index.php中,您将需要以下内容:

$country=$_SERVER['GEOIP_COUNTRY_CODE'];
switch ($country)
{ case "CA":
  case "MX":
  case "US":
    $_SERVER['MAGE_RUN_CODE'] = "usd";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
    break;
  default:
    $_SERVER['MAGE_RUN_CODE'] = "row";
    $_SERVER['MAGE_RUN_TYPE'] = "store";
}
Mage::run($_SERVER['MAGE_RUN_CODE'], $_SERVER['MAGE_RUN_TYPE']);
Run Code Online (Sandbox Code Playgroud)

对于您的产品,在网站选项卡中,选择您希望产品显示的网站.在两个框中打勾或仅根据显示方式打勾.

与"黑客"解决方案相比,这将很容易更新.

更新.

运行GeoIP的最简单方法是作为apache模块.这是指示和下载的链接:

http://www.maxmind.com/app/mod_geoip

如果由于共享托管或操作系统剥落而无法安装Apache模块,则可以使用PHP模块.有关geoIP的完整说明和下载,请访问:

http://www.maxmind.com/app/php

安装后换出$ country = $ _ SERVER ['GEOIP_COUNTRY_CODE']; 对于以下内容:

include("geoip/geoip.inc");

// Uncomment if querying against GeoIP/Lite City.
// include("geoipcity.inc");

$gi = geoip_open("/your/path/to/geoip/GeoIP.dat",GEOIP_STANDARD);
$country=geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
Run Code Online (Sandbox Code Playgroud)

可从以上链接获得有关GeoIP的更多帮助.