controller向layout传值
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 |