yii外部action中如何渲染页面
ii的controller中支持调用外部的action类
但最近工作时碰到这样一个问题,外部action类如何渲染页面(render)呢?
假设有如下action类
假设有如下action类
- <?php
- class WorktimeAction extends CAction {
- public function run(){
- //数据处理
- ……
- $this->render('worktime.php', $data);
- }
- }
目的很简单,就是处理数据后,想用得到的$data数据填充页面worktime.php
但是,上面的写法,肯定是错的,因为WorktimeAction没有render方法...
怎么办呢?
其实controller类中是有render方法的,所以问题转换为如何得到调用该action的controller类。
怎么办呢?
其实controller类中是有render方法的,所以问题转换为如何得到调用该action的controller类。
翻看手册,发现CAction 类有getController()方法!
于是~问题解决了,上代码。
于是~问题解决了,上代码。
- <?php
- class WorktimeAction extends CAction {
- public function run(){
- //数据处理
- ……
- $this->getController()->render('worktime.php', $data);
- }
- }
- 原文地址:http://www.software8.co/wzjs/PHPshili/1000.html