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 に答える