render和cause的区别,render主要意思

render和cause的区别,render主要意思,Yii中render和renderPartial的区别

这篇文章主要介绍了Yii中提供;给予和渲染部分的区别,以下由我们在信易网络公司开发项目的时候终结出的一些经验

以下由我们在信易网络公司开发项目的时候终结出的一些经验

在进行页面输出渲染的时候。

1 .渲染输出父模板的内容,将渲染的内容,嵌入父模板。|

2 .渲染部分则不输出父模板的内容。只对本次渲染的局部内容,进行输出。

同时还有个重要的区别:

提供;给予函数内部默认执行过程输出(输出)函数,会将把组件,比如CTreeView里面注册到CClientScript里面的

需要的脚本进行渲染输出。

而renderPartial()默认不自动渲染输出客户端脚本,需要进行参数的指定,才会输出:

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

指定过程输出为真实的即可。

比如要局部输出CTreeView,用渲染部分进行渲染,如果按照默认processOutput=false则输出内容,不含有客户端脚本

输出内容则为正常的保险商实验所列表。没有树形的折叠效果。主动设定processOutput=true后,CTreeView所需的,所有客户端脚本就会被正常输出在列表的前面。

下面介绍下要用到的几个相关的函数:

渲染,部分渲染不再介绍

processOutput()

?服务器端编程语言(专业超文本预处理器的缩写)

publicfunction render($view,$data=null,$return=false)

{

if($this-beforeRender($view))

{

$ output=$ this-render partial($ view,$data,true);

if(($ layout file=$ this-getLayoutFile($ this-layout))!==假)

$ output=$ this-render file($ layout file,array('content'=$output),true);

$this-afterRender($view,$ output);

$ output=$ this-进程输出($ output);

if($return)

返回$输出

其他

echo $输出

}

}

公共函数render partial($ view,$data=null,$return=false,$processOutput=false)

{

if(($ view file=$ this-getview file($ view))!==假)

{

$ output=$ this-render file($ view file,$data,true);

if($processOutput)

$ output=$ this-进程输出($ output);

if($return)

返回$输出

其他

echo $输出

}

其他

thrownewceexception(Yii:t(' Yii ',' {controller}找不到请求的视图{查看} .

array(' { controller } '=get _ class($ this),' { view } '=$ view)));

}

公共函数流程输出(输出)

{

yii:app()-getClientScript()-render($ output);

//如果使用页面缓存,我们应该延迟动态输出替换

if($this-_dynamicOutput!==null $ this-iscachingstacksempty())

{

$ output=$ this-processDynamicOutput($ output);

$ this-_ dynamic output=null;

}

if($this-_pageStates===null)

$ this-_ pageStates=$ this-load pageStates();

如果(!空($this-_pageStates))

$ this-保存页面状态($ this-_ pageStates,$ output);

返回$输出

}

以上在实际操作中还是比较有用的,比如你不想用大组建,可以直接将变量输到模板,也可以将多个变量组成数组输到模版里面去。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: