
Yii2,layout中使用Controller的值,Controller向layout传值的两种方式。
yii2中在通过Controller向layout中传值,layout中访问Controller中的值,
1、第一种,通过layout变量数组赋值
1
2
|
$view = Yii:: $app ->view;
$view ->params[ 'layout_data' ] = '传给layout的值' ;
|
2、第二种,在layout直接访问Controller的成员属性
首先在Controller中定义一个公共的成员属性,用来放要传递的值
1
2
3
4
5
6
7
8
9
10
11
12
|
class site extends Controller{
public $layout_data ;
function actionIndex{
$this ->layout_data = '传给layout的值' ;
return $this ->render( 'index' );
}
} |
其次在layout中访问:
1
|
$this ->context->layout_data //这样既可获得SiteController中的值,ps属性必须为public
|