我需要检查访问者是否是第一次在网站上,并显示与国家选择块(商店)。然后,我需要保存在cookie访问者的选择(我只是认为这是正确的保存在cookie)。
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 ..但就像我说的,我想有一个更好的方法来做到这一点。我很高兴看到正确的方法来做它自己诚实,所以我可以利用它。
1条答案
按热度按时间00jrzges1#
当用户登陆页面时,检查是否设置了cookie,如果设置了cookie,则根据cookie值重定向到商店视图。
我很新的magento所以可能有一个更好的方法来做到这一点,但我需要类似的东西自己。
当用户登陆列出所有商店视图的页面时,我在弹出窗口中有一个选择框(这是在index.php中,只有在没有设置cookie时才会显示),在更改表单提交的值时,我在head.php文件的底部执行了以下操作
因此,在提交表单后,我获取了商店代码值并设置了一个名为country的cookie,然后将用户重定向到特定的商店视图。
然后,我在这段代码下面做了另一个检查,看看是否设置了国家cookie(供用户下次访问该站点时使用)
我检查了当前的商店代码是否不等于存储在cookie中的值,如果不等于,则将该用户重定向到正确的商店视图。由于标题已经输出错误,我不得不使用javascript重定向。
希望这会给予你一些想法,以及如何使用cookie ..但就像我说的,我想有一个更好的方法来做到这一点。我很高兴看到正确的方法来做它自己诚实,所以我可以利用它。