如何在YII2中将控制器中的参数传递给布局

Mav*_*ick 45 php yii2

我想从控制器发送参数到布局(即main.php).但是我无法在main.php中获得参数

我试过了:

控制器代码:

$this->render('index',array('param' => $paramValue));
Run Code Online (Sandbox Code Playgroud)

这就是我试图在布局中得到这个的方式.main.php

  1. $this->param (如yii 1)
  2. $param

但我无法在布局中获得参数值.谁能告诉我怎么做?

aro*_*hev 83

yii\base\View具有特殊的$ params属性.

例如,它用于使用Gii在默认生成的CRUD代码模板中构建面包屑.

您可以在渲染之前将其设置为:

use Yii;

Yii::$app->view->params['customParam'] = 'customValue';
Run Code Online (Sandbox Code Playgroud)

在控制器内部,您可以这样设置:

$this->view->params['customParam'] = 'customValue';
Run Code Online (Sandbox Code Playgroud)

然后它将在视图中可用(包括主要布局):

/* @var $this yii\web\View */

echo $this->params['customParam'];
Run Code Online (Sandbox Code Playgroud)

您也可以在官方指南中找到它.