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