Magento.保存访客存储选择的cookie

z4bn682m  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(112)

我需要检查访问者是否是第一次在网站上,并显示与国家选择块(商店)。
然后,我需要保存在cookie访问者的选择(我只是认为这是正确的保存在cookie)。

00jrzges

00jrzges1#

当用户登陆页面时,检查是否设置了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);
    }

因此,在提交表单后,我获取了商店代码值并设置了一个名为country的cookie,然后将用户重定向到特定的商店视图。
然后,我在这段代码下面做了另一个检查,看看是否设置了国家cookie(供用户下次访问该站点时使用)

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

我检查了当前的商店代码是否不等于存储在cookie中的值,如果不等于,则将该用户重定向到正确的商店视图。由于标题已经输出错误,我不得不使用javascript重定向。
希望这会给予你一些想法,以及如何使用cookie ..但就像我说的,我想有一个更好的方法来做到这一点。我很高兴看到正确的方法来做它自己诚实,所以我可以利用它。

相关问题