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

时间:2011-05-26 07:09:16

标签: magento ip country product

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

中显示产品
> United States
> International
> Both

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

我谷歌它,我找到了一个插件

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

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

1 个答案:

答案 0 :(得分: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']);

对于您的产品,请在网站标签中选择您希望产品展示的网站。在两个方框中打勾,或根据显示方式选择一个。

与“黑客”解决方案相比,这很容易更新。

<强>更新

运行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);

以上链接提供了有关GeoIP的更多帮助。