2

在此我将 cookie 值写入控制器文件中。我想在视图文件中读取那个 cookie 值,而不是怎么可能。

4

4 回答 4

8

您必须在控制器中读取它并设置值以使其可用于视图:

$this->set('myValue', $this->Cookie->read('cookieValue'));

然后在视图中,您可以访问变量 $myValue 以返回 'cookieValue' 的值:

<?php echo $myValue; ?>
于 2010-08-10T19:21:21.890 回答
2

毕竟 CakePHP 是一个 PHP 框架,你可以通过 $_COOKIE 来阅读它们 :)

请记住,您应该使用:

$this->Cookie->write('myValue', $value, false);

在您的控制器中,否则它将被加密并且很难使用:)

于 2010-07-16T19:15:40.717 回答
2

在 AppController 中使用 Cookie 组件:

$components = array('Cookie');

在 AppController 的 beforeFilter() 中定义以下内容:

$this->set('cookieHelper', $this->Cookie);

这样您就可以在视图中使用它:

$cookieHelper->read('something');
于 2013-03-15T08:28:55.780 回答
-3

我使用SessionComponentSessionHelper来做到这一点:

在控制器中:

$this->Session->write('first_visit', true);

在视图中:

if ($session->check('first_visit')) {
    $session->del('first_visit');
    echo $this->element('quick_intro');
}

您还可以使用 $session->read('value') 从会话中读出一个值,而不仅仅是检查它是否存在。

于 2010-07-16T12:20:33.330 回答