我想添加一个带有以下选项的单选按钮
在
中显示产品> United States
> International
> Both
选择后,产品将在前端显示使用IP检测的相应客户
我谷歌它,我找到了一个插件
但它与Magento ver不兼容。 1.5.0.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的更多帮助。