我尝试在yii2控制器中使用此操作设置cookie:
public function actionContact() {
$cookie = new Cookie([
'name' => 'test_name',
'value' => 'test_value'
]);
Yii::$app->getResponse()->getCookies()->add($cookie);
return $this->render('contact');
}
但它不会像这样工作。同时,如果我这样做而不渲染联系人视图,它确实有效。如果我使用
,它也有效return $this->redirect('anothercontroller');
而不是
return $this->render('contact');
如果我在没有布局的情况下使用它($ this-> layout = false)那么它也可以使用。 布局文件中的html标题是否覆盖了以前的信息?
布局文件的骨架是:
<?php
use yii\helpers\Url;
//etc...
AppAsset::register($this);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="shortcut icon" type="image/x-icon" href="/img/logo4.xcf" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="format-detection" content="telephone=no">
<title>Title</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages': ['corechart']});
google.charts.load('current', {'packages':['gauge']});
google.charts.load('current', {'packages': ['geochart'],
'mapsApiKey': 'AIzaSyDW77Ajhkkj0-c70o5lXawp89Sfj81TI'
});
</script>
<?= Html::csrfMetaTags() ?>
<?php $this->head() ?>
</head>
<body>
<?php $this->beginBody() ?>
<?= $content ?>
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>
有没有解决方法? 谢谢你的时间!