Yii中render和renderPartial的区别,yiirenderpartial
Yii中render和renderPartial的区别,yiirenderpartial
以下由我们在信易网络公司开发项目的时候终结出的一些经验
在进行页面输出渲染的时候。
1.render 输出父模板的内容,将渲染的内容,嵌入父模板。|
2.renderPartial 则不输出父模板的内容。只对本次渲染的局部内容,进行输出。
同时还有个重要的区别:
render 函数内部默认执行processOutput($output)函数, 会将把组件,比如 CTreeView 里面注册到 CClientScript 里面的
需要的脚本进行渲染输出。
而renderPartial() 默认不自动渲染输出客户端脚本,需要进行参数的指定,才会输出:
renderPartial($view,$data=null,$return=false,$processOutput=false)
指定processOutput 为 true 即可。
比如要局部输出 CTreeView ,用renderPartial 进行渲染,如果按照默认processOutput=false 则输出内容,不含有客户端脚本
输出内容则为 正常的 ul 列表。没有树形的折叠效果。 主动设定 processOutput=true 后,CTreeView 所需的,所有客户端脚本就会被正常输出在列表的前面。
下面介绍下要用到的几个相关的函数:
render,renderPartial 不再介绍
processOutput()
<?php publicfunction render($view,$data=null,$return=false) { if($this->beforeRender($view)) { $output=$this->renderPartial($view,$data,true); if(($layoutFile=$this->getLayoutFile($this->layout))!==false) $output=$this->renderFile($layoutFile,array('content'=>$output),true); $this->afterRender($view,$output); $output=$this->processOutput($output); if($return) return $output; else echo $output; } } publicfunction 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 thrownewCException(Yii::t('yii','{controller} cannot find the requested view "{view}".', array('{controller}'=>get_class($this),'{view}'=>$view))); } publicfunction processOutput($output) { Yii::app()->getClientScript()->render($output); // if using page caching, we should delay dynamic output replacement if($this->_dynamicOutput!==null&& $this->isCachingStackEmpty()) { $output=$this->processDynamicOutput($output); $this->_dynamicOutput=null; } if($this->_pageStates===null) $this->_pageStates=$this->loadPageStates(); if(!empty($this->_pageStates)) $this->savePageStates($this->_pageStates,$output); return $output; }
以上在实际操作中还是比较有用的,比如你不想用大组建,可以直接将变量输到模板,也可以将多个变量组成数组输到模版里面去.
require就行了啊,如果非要用render()的话用renderPartial()
例如:
1. Yii::app()->user->returnUrl = Yii::app()->getBaseUrl()."/step/show/id/1";
$this->redirect(Yii::app()->user->returnUrl);
2. $this->redirect(array('step/show','id'=>1));
3. $this->render('index',array('post'=>$questions));
4. $this->renderPartial('field_show',array('field'=>$field,'key'=>++$key,));

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기술적 해결 방법: 먼저 드롭다운 상자 구성 요소를 작성합니다. 먼저 드롭다운 상자의 내용을 표시하는 구성 요소를 작성합니다. 구성 요소 이름은 다음으로 시작합니다. Select.vue Welfare Mall Saas 플랫폼 활동 사용자 정의 렌더링 구성 요소 이 구성 요소를 웹 페이지에 렌더링하려고 합니다. 작업은 다음과 같아야 합니다. 마우스가 제품 서비스로 이동하면 드롭다운 상자를 렌더링합니다. 구성 요소를 페이지의 적절한 위치에 구성 요소 인스턴스로 배치합니다. vue3에서 Vonde를 렌더링하는 핵심 논리는 import{createVNode,h,render,VNode}from'vue'importcomComponentfrom"./comComponent입니다.

렌더(Render)는 렌더링(Rendering)을 의미하며 드로잉 용어이다. 렌더링은 CG의 마지막 과정으로, 최종적으로 이미지를 3D 장면에 맞게 만드는 단계이기도 하다. 일반적으로 Shade를 Shading이라고 하고, Render를 Rendering이라고 합니다.

암호화폐의 세계는 항상 유동적이며 새로운 토큰은 다음 큰 기회를 찾고 있는 노련한 투자자의 관심을 끌고 있습니다.

HMD 글로벌은 스카이라인을 통해 7월 10일 노키아 루미아 920 스타일의 중급형 스마트폰을 공개할 예정이다. 유출자 @smashx_60의 최신 정보에 따르면 루미아 디자인은 곧 태블릿에도 사용될 예정이다. 그것은 c가 될 것이다

렌더 코인: 장기 보유할 가치가 있는 투자 기회 렌더 코인은 이더리움 블록체인을 기반으로 한 암호화폐로, 분산 렌더링 네트워크 렌더에서 렌더링 서비스 비용을 지불하도록 설계되었습니다. 목표는 기존 렌더링 솔루션의 높은 비용과 비효율성을 해결하고 아티스트와 창작자에게 저렴하고 편리한 렌더링 옵션을 제공하는 것입니다. 렌더 코인의 장점은 탈중앙화입니다. 렌더 코인은 이더리움 블록체인을 기반으로 하며 중앙 집중식 렌더링 서비스 제공업체의 단일 실패 지점과 높은 비용을 방지하는 탈중앙화 특성을 가지고 있습니다. 높은 효율성: Render Coin은 분산 렌더링 기술을 사용하여 전 세계의 유휴 GPU에 렌더링 작업을 할당하여 렌더링 효율성을 크게 향상시킵니다. 저렴한 비용: 렌더 코인은 중개인을 제거하여 렌더링 비용을 줄입니다.

Render(RNDR), Mantle(MNT), Sei(SEI)와 같은 유명 암호화폐를 구매하는 사람들은 이제 DTX Exchange(DTX)에 돈을 넣고 있습니다.

널리 사용되는 JavaScript 프레임워크인 Vue.js는 개발자에게 많은 유용한 기능을 제공합니다. 가장 중요한 기능 중 하나는 Vue.js의 구성 요소 시스템입니다. Vue.js를 사용하면 HTML, CSS 및 JavaScript와 같은 기본 구문을 사용하여 구성 요소를 작성할 수 있습니다. 이 구문은 매우 우아하고 간결하지만 어떤 경우에는 충분히 유연하지 않을 수도 있습니다. 이러한 경우 렌더링 기능을 사용하면 구성 요소의 출력을 더 효과적으로 제어할 수 있습니다. 렌더링 기능은 새로운 개념이 아닙니다.

RENDER는 빠르게 상승 추세를 보였습니다. 알트코인의 모멘텀은 핵심 $5.22 수준이 무너지고 시장 구조가 강세적으로 반전되기 전에 부진했습니다.
