YII Framework学习教程-YII的V-view的render若干函数-2011-11-17
2011-11-17 11:10
501 查看
YII中,在action可以通过$this->render来指定它的view。其实还其他一$this->render开头的函数。
yiilite.php中有这么几个函数。
例如让action只输出一句话,不应用layout。可以用renderText
看看上面的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 "<###dynamic-$n###>"; $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原型,可以看到可以调用一个回调函数。具体功能可以自己代码试用一下。
更强大的功能,需要自己慢慢发现。
相关文章推荐
- YII Framework学习教程-YII的V-view的widget-2011-11-17
- YII Framework学习教程-YII的V-view的Exception-2011-11-17
- YII Framework学习教程-YII的V-view的themes、资源文件(图片、JS、CSS)-2011-11-17
- YII Framework学习教程-YII的V-view的layout
- YII Framework学习教程-YII的V-view的基本使用和实现原理-2011-11-16
- YII Framework学习教程-YII的V-view的深入了解和使用-2011-11-16
- YII Framework学习教程-YII的V-view的form-view script-2011-11-23
- YII Framework学习教程-YII的V-view的layout-2011-11-17
- YII Framework学习教程-YII的filter过滤器-2011-11-21
- YII Framework学习教程-YII的日志
- YII Framework学习教程-YII的Model-基本规则和使用-2011-11-22
- YII Framework学习教程-YII的Component组件-2011-11-23
- YII Framework学习教程-YII的Model-数据库操作1-CActiveRecord
- YII Framework学习教程-YII的安全
- YII Framework学习教程-YII的Model-FormModel-2011-11-23
- YII Framework学习教程-YII的国际化
- YII Framework学习教程-YII的forward\redirect-2011-11-18
- YII Framework学习教程-YII的Model-MVC最佳实践-2011-11-22
- YII Framework学习教程-YII的Model-Controllers和Models-2011-11-22
- YII Framework学习教程-YII的Model-Action和Models-2011-11-23