您的位置:首页 > 编程语言 > PHP开发

yii外部action中如何渲染页面

2012-10-17 17:29 477 查看
yii的controller中支持调用外部的action类(见《在controller中使用外部的action》
但最近工作时碰到这样一个问题,外部action类如何渲染页面(render)呢?

假设有如下action类
<?php
class WorktimeAction extends CAction {
public function run(){
//数据处理
……
$this->render('worktime.php', $data);
}
}

目的很简单,就是处理数据后,想用得到的$data数据填充页面worktime.php
但是,上面的写法,肯定是错的,因为WorktimeAction没有render方法...

怎么办呢?

其实controller类中是有render方法的,所以问题转换为如何得到调用该action的controller类。
翻看手册,发现CAction 类有getController()方法!

于是~问题解决了,上代码。

<?php
class WorktimeAction extends CAction {
public function run(){
//数据处理
……
$this->getController()->render('worktime.php', $data);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: