Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 马根托。在cookies中保存访问者商店选择_Magento_Cookies_Store_Choice_Visitor - Fatal编程技术网

Magento 马根托。在cookies中保存访问者商店选择

Magento 马根托。在cookies中保存访问者商店选择,magento,cookies,store,choice,visitor,Magento,Cookies,Store,Choice,Visitor,我需要检查访客是否是第一次在网站上,并显示与国家选择块(商店)。然后我需要将访问者选择保存在cookies中(我只是认为将其保存在cookies中是正确的)。也许有人这样做了,或者可以帮忙 谢谢。当用户登录页面时,检查是否设置了cookie,如果设置了cookie,则根据cookie值将其重定向到存储视图 我对magento很陌生,所以可能有更好的方法,但我自己也需要类似的东西 当用户登录到列出所有商店视图的页面时,我在弹出窗口中有一个选择框(在index.php中,仅在未设置cookie时显示

我需要检查访客是否是第一次在网站上,并显示与国家选择块(商店)。然后我需要将访问者选择保存在cookies中(我只是认为将其保存在cookies中是正确的)。也许有人这样做了,或者可以帮忙


谢谢。

当用户登录页面时,检查是否设置了cookie,如果设置了cookie,则根据cookie值将其重定向到存储视图

我对magento很陌生,所以可能有更好的方法,但我自己也需要类似的东西

当用户登录到列出所有商店视图的页面时,我在弹出窗口中有一个选择框(在index.php中,仅在未设置cookie时显示),在更改表单提交的值时,我在head.php文件的底部执行了以下操作

    if(isset($_POST['selectbox'])){
        $storeId = $_POST['selectbox'];
        $store_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).$storeId;
        $cookie = Mage::getModel('core/cookie');
        $period = time()+86400;
        $cookie->set('country', $storeId,$period, '/');

        Mage::app()->getResponse()->setRedirect($store_url);
    }
因此,在提交表单后,我获取了storecode值并设置了一个名为country的cookie,然后将用户重定向到特定的store视图

然后,我在代码下面做了另一次检查,以查看是否设置了国家cookie(供用户下次访问该站点时使用)

if(isset($\u COOKIE['country'])){
$storeId=$_COOKIE['country'];
$magento_store_id=Mage::app()->getStore()->getCode();
$redirect\u to=Mage::getBaseUrl(Mage\u Core\u Model\u Store::URL\u TYPE\u WEB)。$storeId;
如果($storeId!=$magento\u store\u id)
{   
echo“window.location.href=”$redirect_to.“;”;
}
我检查了当前存储代码是否与cookie中存储的值不相等,如果不相等,则将该用户重定向到正确的存储视图。由于标头已输出错误,我不得不使用javascript重定向


希望这能给你一些想法和如何使用cookies。但是就像我说的,我想有更好的方法。老实说,我很高兴看到自己做这件事的正确方法,这样我就可以利用它了。

永远不要使用$\u POST['selectbox']是Magento。它将绕过Magento的所有安全逻辑,因此很容易被黑客攻击。嗨,Satish,那么怎么做呢?请您提供上面示例的修改代码,供其他人使用。谢谢
     if(isset($_COOKIE['country'])){
        $storeId = $_COOKIE['country'];
        $magento_store_id = Mage::app()->getStore()->getCode();
        $redirect_to = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).$storeId;

    if($storeId != $magento_store_id)
     {   
       echo "<script type='text/javascript'>window.location.href='".$redirect_to."';</script>";
     }