Yii框架将变量从控制器传递到视图

Wiz*_*ard 4 php templates variable-assignment yii

要将变量传递给登录视图,我使用:

$this->render('login', array('model' => $model));
Run Code Online (Sandbox Code Playgroud)

但我还需要在模板部分footer.php中访问此变量:

我试试这个:

$this->render('footer', array('model' => $model));
Run Code Online (Sandbox Code Playgroud)

但是在footer.php中我尝试访问变量我得到错误"未定义变量"

怎么了 ?

Man*_*ngh 6

例如,您可以使用控制器类在视图模板中传递变量

控制器:

SomeController extends Controller {
    
    public function actionIndex() {
          $var1 = 'abc';
          $var2 = '123';
           $this->render('view', 
                           array('var1' => $var1,
                                 'var2' => $var2,
                                ));
    }
}
Run Code Online (Sandbox Code Playgroud)

在视图模板文件中,您可以使用其名称访问这两个变量($ var1&$ var2):


rze*_*lek 5

yii中的模板通过$this引用从控制器获取数据.

<?php
SomeController extends Controller {
    public $something;

    public function init() {
        $this->something = 'qwerty';
    }
    public function actionA() {
        $this->render('view', array('model' => $model));
    }
}
Run Code Online (Sandbox Code Playgroud)

在模板中:

<?php echo $this->something; ?>
Run Code Online (Sandbox Code Playgroud)

请查看yii的默认模板.使用来自控制器的属性显示面包屑,因此这是实现它的最佳方式.