很抱歉,如果这是非常明显的,不是很好的编码和新的cookie,所以stil试图让我的头脑。我正在尝试为我的Magento安装创建一个网站重定向。在index.php中,我放置了以下代码来检查用户的IP位置,将它们定向到正确的网站并设置cookie。如果已经设置了cookie,则它会从cookie中获取值并指向基于此的网站。
if ((isset($_COOKIE['penstore']) )){
$_SERVER['MAGE_RUN_CODE'] = $_COOKIE['penstore'];
$_SERVER['MAGE_RUN_TYPE'] = "website";
}
else
{
include("geoip.inc");
$ip=$_SERVER['REMOTE_ADDR'];
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, "$ip");
geoip_close($gi);
switch($country_code)
{ case "CA": case "US":
$_SERVER['MAGE_RUN_CODE'] = "usa";
$_SERVER['MAGE_RUN_TYPE'] = "website";
setcookie("penstore",'usa',time()+43200);
break;
case "GB":
$_SERVER['MAGE_RUN_CODE'] = "uk";
$_SERVER['MAGE_RUN_TYPE'] = "website";
setcookie("penstore",'uk',time()+43200);
break;
default:
$_SERVER['MAGE_RUN_CODE'] = "int";
$_SERVER['MAGE_RUN_TYPE'] = "website";
setcookie("penstore",'int',time()+43200);
}
}
这一切似乎都运行正常,我的问题是找到一种方法,允许客户通过单击标题中的图像来更改网站。我已经根据网站和本网站上的代码尝试了几种不同的方法,但是我无法使用它。我目前在header.phtml中有以下代码:
<script language="text/javascript">
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
location.reload();
}
</script>
<a href="#" onclick="createCookie('penstore','int',30)"><img src="http://mysite.com/images/INT.gif"></a>
<a href="#" onclick="createCookie('penstore','usa',30)"><img src="http://mysite.com/images/US.gif"></a>
<a href="#" onclick="createCookie('penstore','uk',30)"><img src="http://mysite.com/images/GB.gif"></a>
这个想法是客户点击图像,导致更新cookie值,并且重新加载的当前页面(基于index.php中的代码)将导致加载不同的网站。所有发生的事情是#jill被添加到网址?
编辑:为了澄清,我正在尝试切换网站,而不是商店,所以不能使用Magento商店切换器。