1

これが本当に明らかである場合は申し訳ありませんが、コーディングが得意ではなく、Cookie に慣れていないので、まだ頭を悩ませようとしています。Magento インストール用の Web サイトリダイレクトを作成しようとしています。index.php には、ユーザーの IP ロケーションを確認し、正しい Web サイトに誘導し、Cookie を設定する次のコードを配置しました。Cookie が既に設定されている場合は、Cookie から値を取得し、これに基づいて Web サイトに誘導します。

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);
}
}

これはすべて問題なく機能しているように見えますが、私の問題は、顧客がヘッダーの画像をクリックして Web サイトを変更できるようにする方法を見つけることです。Web およびこのサイトで見つかったコードに基づいていくつかの異なる方法を試しましたが、いずれも機能しません。現在、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 のコードに基づいて別の Web サイトが読み込まれるというものです。# が URL に追加されるだけですか?

編集:明確にするために、ストアではなくWebサイトを切り替えようとしているため、Magentoストアスイッチャーを使用できません.

4

0 に答える 0