目次
Yii中render和renderPartial的区别,yiirenderpartial
yii框架layouts里mainphp想再引用一个页面该怎写?render好像不行
yii 通过redirect()或render 怎跳转到父页面
ホームページ php教程 php手册 Yii中render和renderPartial的区别,yiirenderpartial

Yii中render和renderPartial的区别,yiirenderpartial

Jun 13, 2016 am 09:25 AM
render

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()

<&#63;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;
}
ログイン後にコピー

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

yii框架layouts里mainphp想再引用一个页面该怎写?render好像不行

require就行了啊,如果非要用render()的话用renderPartial()
 

yii 通过redirect()或render 怎跳转到父页面

例如:
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,));
 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

レンダー関数を使用してvue3にメニュードロップダウンボックスを実装する方法 レンダー関数を使用してvue3にメニュードロップダウンボックスを実装する方法 May 10, 2023 pm 04:28 PM

技術的解決策: まず、ドロップダウン ボックス コンポーネントを作成します まず、ドロップダウン ボックスの内容を表示するコンポーネントを作成します。コンポーネント名は次で始まります: Select.vue 福祉モール Saas プラットフォーム アクティビティ カスタマイズされたレンダリング コンポーネント このコンポーネントを Web ページにレンダリングしたいのですが、操作は次のようになります: マウスが製品サービスに移動すると、ドロップダウン ボックスがレンダリングされます。コンポーネントをコンポーネント インスタンスとしてページ上の適切な場所に配置します。 vue3 では、Vonde をレンダリングするコア ロジックは次のとおりです: import{createVNode,h,render,VNode}from'vue'importcomponentfrom"./component。

レンダリングってレンダリングって意味ですか? レンダリングってレンダリングって意味ですか? Feb 02, 2023 pm 02:52 PM

レンダーとはレンダリングという意味で、描画用語です。レンダリングとはCGの最後の工程であり、最終的に映像を3Dシーンに適合させる段階でもあります。レンダリングを英語ではレンダーと言い、シェーディングと呼ぶ人もいますが、一般的に Shade は Shade と呼ばれ、シェーディングの場合 Render はレンダリングと呼ばれます。

ムペッペ (MPEPE) コイン: レンダー (RNDR) とインターネット コンピューター (ICP) からの投資家を惹きつける仮想通貨市場の新たな競争相手 ムペッペ (MPEPE) コイン: レンダー (RNDR) とインターネット コンピューター (ICP) からの投資家を惹きつける仮想通貨市場の新たな競争相手 Sep 03, 2024 pm 02:03 PM

仮想通貨の世界は常に流動的であり、新しいトークンが次の大きな機会を求める経験豊富な投資家の注目を集めています。

Snapdragon 7s Gen 2、10.6インチディスプレイ、Lumiaデザインを搭載したミッドレンジタブレットとしてHMD Slate Tab 5Gがリーク Snapdragon 7s Gen 2、10.6インチディスプレイ、Lumiaデザインを搭載したミッドレンジタブレットとしてHMD Slate Tab 5Gがリーク Jun 18, 2024 pm 05:46 PM

Skyline とともに、HMD Global は Nokia Lumia 920 スタイルのミッドレンジ スマートフォンを 7 月 10 日に発表する予定です。リーカー @smashx_60 からの最新情報によると、Lumia のデザインは間もなくタブレットにも使用される予定です。これは c になります

レンダーコインは長期保有する価値がありますか?レンダーコインには投資する価値がありますか? レンダーコインは長期保有する価値がありますか?レンダーコインには投資する価値がありますか? Mar 06, 2024 am 08:31 AM

レンダーコイン:長期保有に値する投資機会 レンダーコインはイーサリアムブロックチェーンに基づく暗号通貨で、分散型レンダリングネットワークRender上のレンダリングサービスの料金を支払うように設計されています。目標は、従来のレンダリング ソリューションの高コストと非効率性に対処し、アーティストやクリエイターに手頃な価格で便利なレンダリング オプションを提供することです。レンダー コインの利点は分散化です。レンダー コインはイーサリアム ブロックチェーンに基づいており、分散化の特性を備えており、単一障害点と集中型レンダリング サービス プロバイダーの高コストを回避します。高効率: レンダー コインは分散レンダリング テクノロジーを使用して、世界中のアイドル状態の GPU にレンダリング タスクを割り当て、レンダリング効率を大幅に向上させます。低コスト: レンダー コインは仲介者を排除することでレンダリングのコストを削減します。

DTX Exchange (DTX) – オンライン取引の新時代 DTX Exchange (DTX) – オンライン取引の新時代 Aug 12, 2024 am 12:24 AM

Render (RNDR)、Mantle (MNT)、sei (SEI) などの有名な暗号通貨を購入する人々は現在、DTX Exchange (DTX) に資金を投入しています。

render 関数を使用して Vue でコンポーネントのレンダリングを実装するためのヒントとベスト プラクティス render 関数を使用して Vue でコンポーネントのレンダリングを実装するためのヒントとベスト プラクティス Jun 25, 2023 am 10:02 AM

Vue.js は、人気のある JavaScript フレームワークとして、開発者に多くの便利な機能を提供します。最も重要な機能の 1 つは、Vue.js のコンポーネント システムです。 Vue.js を使用すると、ネイティブ構文、つまり HTML、CSS、JavaScript を使用してコンポーネントを作成できます。この構文は非常にエレガントで簡潔ですが、場合によっては十分な柔軟性が得られない可能性があります。このような場合、レンダリング関数を使用すると、コンポーネントの出力をより詳細に制御できるようになります。レンダリング関数は新しい概念ではありません。

レンダー(RENDER)は主要な抵抗レベルを回復した後、2 日で 38% 回復 レンダー(RENDER)は主要な抵抗レベルを回復した後、2 日で 38% 回復 Nov 13, 2024 am 12:26 AM

RENDERは急速に上昇傾向にありました。アルトコインの勢いは、重要な5.22ドルの水準を突破するまで低迷し、市場構造が強気に反転した。

See all articles