YII中,在action可以通过$this->render来指定它的view。其实还其他一$this->render开头的函数。

yiilite.php中有这么几个函数。

public function renderText($text,$return=false)

{

if(($layoutFile=$this->getLayoutFile($this->layout))!==false)

$text=$this->renderFile($layoutFile,array('content'=>$text),true);

$text=$this->processOutput($text);

if($return)

return $text;

else

echo $text;

}

public function renderPartial($view,$data=null,$return=false,$processOutput=false)

{

if(($viewFile=$this->getViewFile($view))!==false)

{

$output=$this->renderFile($viewFile,$data,true);

if($processOutput)

$output=$this->processOutput($output);

if($return)

return $output;

else

echo $output;

}

else

throw new CException(Yii::t('yii','{controller} cannot find the requested view "{view}".',

array('{controller}'=>get_class($this), '{view}'=>$view)));

}

public function renderClip($name,$params=array(),$return=false)

{

$text=isset($this->clips[$name]) ? strtr($this->clips[$name], $params) : '';

if($return)

return $text;

else

echo $text;

}

public function renderDynamic($callback)

{

$n=count($this->_dynamicOutput);

echo "";

$params=func_get_args();

array_shift($params);

$this->renderDynamicInternal($callback,$params);

}

public function renderDynamicInternal($callback,$params)

{

$this->recordCachingAction('','renderDynamicInternal',array($callback,$params));

if(is_string($callback) && method_exists($this,$callback))

$callback=array($this,$callback);

$this->_dynamicOutput[]=call_user_func_array($callback,$params);

}

例如让action只输出一句话,不应用layout。可以用renderText

/**

* This is the default 'index' action that is invoked

* when an action is not explicitly requested by users.

*/

public function actionIndex()

{

//$viewData=array();

// renders the view file 'protected/views/site/index.php'

// using the default layout 'protected/views/layouts/main.php'

//$viewData['homeUrl'] = Yii::app()->homeUrl;

//$viewData['var1'] = '这是var1变量的对应的值';

//$this->layout='mylayout';

//$this->renderPartial('index',$viewData);

$this->layout=false;

$this->renderText('test',$return=false);

}

看看上面的render原型,可以看到可以调用一个回调函数。具体功能可以自己代码试用一下。

更强大的功能,需要自己慢慢发现。

yiilite.php,YII Framework学习教程-YII的V-view的render若干函数-2011-11-17 | 学步园相关推荐

  1. YII Framework学习教程-YII的Model-开发规范-路径别名-命名空间-2011-11-22

    到这里,大概的YII开发已经基本可以,但是下面要将的所有课程,学完之后可以让你更爱YII.下面的教程是讲的MVC的M,model.数据,业务,代码的集中地区.所以开始之前,学学开发规范-路径别名-命名 ...

  2. YII Framework学习教程-YII的日志

    日志的作用(此处省略1000字) YII中的日志很好很强大,允许你把日志信息存放到数据库,发送到制定email,存放咋文件中,意见显示页面是,甚至可以用来做性能分析. YII中日志的基本配置:/yii ...

  3. YII Framework学习教程-用YIIC快速创建YII应用之三-2011-11-11

    4.yiic shell 此功能是最常用的功能.他可以帮助我们创建大部分的程序结构.具体实现的内容需要我们自己来实现. 如何使用yiic shell太和其他的命令有点不同.因为他是依赖与一个web应用 ...

  4. YII Framework学习教程-用YIIC快速创建YII应用之二-2011-11-11

    3.yii migrate 查看帮助 /*/www/yii_dev/yii/framework# php yiic migrate help Error: Unknown action: helpUS ...

  5. Yii Framework 开发教程(32) Zii组件-GridView示例

     CGridView 以表格的形式显示数据,CGridView 也支持分页和排序,CGridView最基本的用法和ListView类型,也是通过设置 data provider,通常是CActiv ...

  6. Yii Framework 开发教程(30) Zii组件-ListView 示例

    CListView可以用来显示列表,CListView支持使用自定义的View模板显示列表的的记录,因此可以非常灵活的显示数据的表,这点有点像Android的ListView:-). CListVie ...

  7. Yii Framework 开发教程(31) Zii组件-DetailView 示例

     CDetailView为某个Model显示详细内容.这个要显示的Model可以为CModel或是关联数组. CDetailView通过配置 attributes来决定Model的那些属性需要显示 ...

  8. Yii Framework 开发教程Zii组件-Tabs示例

    有关Yii Tab类: http://www.yiichina.com/api/CTabView http://www.yiichina.com/api/CJuiTabs http://blog.cs ...

  9. Yii Framework 开发教程(41) Zii组件-Tabs示例

     CJuiTabs 显示分页UI组件,和Yii Framework 开发教程(17) UI 组件 TabView示例功能类似,它封装了 JUI tabs插件. 前基本用法如下: [php] vie ...

最新文章

  1. HDOJ-2012 素数判定
  2. (022)java后台开发之HttpServletRequest
  3. python 正则的使用 —— 编写一个简易的计算器
  4. MySQL等关系型数据库概述
  5. [poj 1364]King[差分约束详解(续篇)][超级源点][SPFA][Bellman-Ford]
  6. mybatis学习(53):构造方法映射
  7. JavaScript高级程序设计(第三版)学习笔记22、24、25章
  8. docker 容器开启ssh服务
  9. 巡查准确率怎么算_【达睿原创】需求预测准确率,你怎么看 ?
  10. Python基础——continute与break(循环控制)
  11. ASP.NET绑定控件语法
  12. python chardet模块_使用Python chardet模块解决中文乱码问题
  13. 1、RFID标签介绍
  14. 江苏高考新方案定了!总分750分,科目“3+1+2”
  15. 【源码】update-notifier 检测 npm 包是否更新~
  16. SQL AlawaysOn 之三:SQL服务器加入域
  17. iphone开发之仿微信用户引导界面的实现
  18. pycharm中运行代码
  19. Python 日期模块的 datetime.date 类
  20. EIE稀疏矩阵乘法硬件模拟

热门文章

  1. 手机秒变IoT设备?——巧妙利用阿里云物联网平台
  2. Ampere Altra Max 对比测试数据公布,性能能效双领先
  3. 极验创始人吴渊:恶意流量威胁新趋势,洞察网络黑产3大核心本质
  4. 金蝶携手工商银行完成首单数字人民币费用报销业务
  5. Cloud Native Infrastructures Meetup 北京 | 活动安排
  6. 释放虚拟GPU力量 NVIDIA 加速企业远程办公生产力变革
  7. 云+X案例展 | 传播类:k3s基于逾百台工控机的应用实践
  8. 2018年云计算大调查:五成开发者月入过万 阿里云称霸公有云市场
  9. php include无效,php 两次include后,第一个include里的变量无效了
  10. iostat命令详解_对iostat输出结果的理解