如何在Magento中设置cookie

时间:2012-05-29 05:56:13

标签: magento

我正在尝试为在magento主页中弹出简报的用户设置一个cookie

我在magento主页上有一个pop with popletter订阅选项,当用户订阅时事通讯时,cookie被设置为新闻通讯在下次访问时不会显示给他

这是设置cookie的代码

<?php
$value=$_POST['newslettertext'];
setcookie("EmailCookie", $value);
setcookie("EmailCookie", $value , time()+86400,"/");  
function gotopage($url)
{
    echo "<script language=\"javascript\">";
    echo "window.location = '".$url."'; \n";
    echo "</script>";
}

$url="http://abc.com";
gotopage($url);

?>

上面的代码设置了一个coookie

订阅后,用户重定向到同一页面 在那里我检查是否设置了cookie,然后执行弹出代码,否则会出现非弹出

但它在分章后仍显示弹出窗口

我正在使用此代码检查cookie

<?php 
if(!isset($_COOKIE['EmailCookie'] ) )
{
//popup code goes here
}
?>

哪里出错了?

2 个答案:

答案 0 :(得分:32)

require_once 'Mage.php';
Mage::app();
$cookie = Mage::getSingleton('core/cookie');
$cookie->set('cookiename', 'cookievalue' ,time()+86400,'/');

这是答案

答案 1 :(得分:7)

以下是解决方案:

Mage::getModel('core/cookie')->set($name, $value, $period, $path, $domain, $secure,$httponly);

有7个参数,其中名称和值是必需的;其他参数是可选的,可以设置为null。我们一个接一个地看。

$name= Cookie name

$value= Cookie Value

$period= Cookie expire date (by default the period is set as 3600 seconds)

$path= Cookies path

$domain= Cookies domain

$secure= Cookies Security

$httponly= Http only when yes