1

使用 javascript 创建了一个 cookie

function (c_name,value,exdays) {
value = source ;
c_name = "Cookie" ;
var exdate=new Date();
exdays = exdate.setTime(exdate.getTime() + (30*24*60*60*1000));
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;

});

我可以使用 Mage::getModel('core/cookie')->get(); 检索吗???

4

2 回答 2

0

如果您查看 Mage_Core_Model_Cookie 类内部,get 方法的定义是:

/**
 * Retrieve cookie or false if not exists
 *
 * @param string $neme The cookie name
 * @return mixed
 */
public function get($name = null)
{
    return $this->_getRequest()->getCookie($name, false);
}

_getRequest() 检索 Mage_Core_Controller_Request_Http 的一个实例,这是一个扩展 Zend_Controller_Request_Http 的类,其中方法 getCookie 定义为:

/**
 * Retrieve a member of the $_COOKIE superglobal
 *
 * If no $key is passed, returns the entire $_COOKIE array.
 *
 * @todo How to retrieve from nested arrays
 * @param string $key
 * @param mixed $default Default value to use if key not found
 * @return mixed Returns null if key does not exist
 */
public function getCookie($key = null, $default = null)
{
    if (null === $key) {
        return $_COOKIE;
    }

    return (isset($_COOKIE[$key])) ? $_COOKIE[$key] : $default;
}

所以是的,您可以使用 Magento 类和方法、Zend 或 $_COOKIE 超全局来检索 cookie。

于 2013-08-19T15:29:34.227 回答
0

是的,您可以使用以下方式访问 javascript cookie:

$cookieValue = Mage::getModel('core/cookie')->get('Cookie');

此外,如果不需要您通过 JavaScript 设置 cookie,您可以通过以下方式设置:

/*
* ->set('name', 'value', 'expDate', 'path', 'domain', 'secure', 'httpsOnly')
* Only Name and Value are required. expDate set for 24 hours below.
*/
Mage::getModel('core/cookie')->set('Cookie', source, time()+86400);
于 2013-08-19T16:37:11.670 回答