我正在尝试将一个变量值从控制器传递到我的main.php布局文件,但我不断收到错误未定义的变量:contentWrapperBackground。下面是我的代码
controller
public function actionList()
{
$contentWrapperBackground = "ff4400;";
$contentBackground = "3c8dbc;";
return $this->render('list', [
'contentWrapperBackground' =>$contentWrapperBackground,
'contentBackground' => $contentBackground,
]);
}
并在我的布局文件中
<div class="content-wrapper" style="background-color:#<?=$contentWrapperBackground?>">
<!-- Content Header (Page header) -->
<!-- Main content -->
<section class="content" style="background-color:#<?=$contentBackground?>">
但我总是得到错误未定义的变量:contentWrapperBackground。我正在尝试更改不同页面的背景颜色。对此有任何帮助,我也对另一个关于如何使这项工作的想法感谢
答案 0 :(得分:2)
不要使用会话!
简单的解决方案:
class Controller extends \yii\web\Controller
{
$public $contentWrapperBackground;
$public $contentBackground;
}
class YourController extends Controller
{
public function actionList()
{
$this->contentWrapperBackground = "ff4400;";
$this->contentBackground = "3c8dbc;";
return $this->render('list', []);
}
}
在你的主要版面
<div class="content-wrapper" style="background-color:#<?=Yii::$app->controller->contentWrapperBackground?>">
或其他选项
<div class="content-wrapper" style="background-color:#<?=$this->context->contentWrapperBackground?>">
答案 1 :(得分:0)
您可以在控制器中设置参数
Yii::$app->view->params['paramName'] = 'data';
获取布局中的数据
$this->params['paramName'];