要将变量传递给登录视图,我使用:
$this->render('login', array('model' => $model));
但我还需要在模板部分footer.php中访问此变量:
我试试这个:
$this->render('footer', array('model' => $model));
但是在footer.php中我尝试访问变量我得到错误“未定义变量”
有什么问题?
答案 0 :(得分:6)
yii中的模板是通过$this
引用从控制器获取数据。
<?php
SomeController extends Controller {
public $something;
public function init() {
$this->something = 'qwerty';
}
public function actionA() {
$this->render('view', array('model' => $model));
}
}
在模板中:
<?php echo $this->something; ?>
请查看yii的默认模板。面包屑是使用来自控制器的属性显示的,因此这是实现它的最佳方式。
答案 1 :(得分:6)
您可以使用控制器类在视图模板中传递变量,例如
控制器:
SomeController extends Controller {
public function actionIndex() {
$var1 = 'abc';
$var2 = '123';
$this->render('view',
array('var1' => $var1,
'var2' => $var2,
));
}
}
在视图模板文件中,您可以使用其名称访问这两个变量($ var1&amp; $ var2):
echo $var1;
echo $var2
答案 2 :(得分:0)
mvc结构不重定向直接页面。
您创建第一个页脚操作并在重定向到页面后。
您在site_controller.php
中看到了demo show login操作按照这个