Home >Backend Development >PHP Tutorial >yii如何获得某个模板的内容?

yii如何获得某个模板的内容?

WBOY
WBOYOriginal
2016-06-06 20:30:05954browse

我想获得一个模板的内容, yii应该如何做?网上给的render好像不行,不知道哪里写错了。

回复内容:

我想获得一个模板的内容, yii应该如何做?网上给的render好像不行,不知道哪里写错了。

renderpartial试试

Render 的时候不要return或者echo 即可,就是直接赋值给一个变量

=======

看了楼主更新的歪解,我再更新下吧。

<code>php</code><code class="lang-php">$html = $this->render('index');
</code>

上面这段代码就能达到楼主的要求了,不过我看楼主又要

<code>json_encode($html);
</code>

好吧,那么楼主你可能需要

<code>php</code><code class="lang-php">$this->renderAjax('index');
</code>

对不起各位,应该是我没有表达清楚。我还是说我自己的答案吧。
我就是想获得一个view模板的html代码,类似于thinkphp的fetch方法,然后将他付给一个变量,例如$content,再将它json_encode。但是无论是render还是renderpartial都不可以正确的执行我的想法。 下面给出我的方法

<code>$smarty = Yii::app()->smarty;
$content = $smarty->fetch("page/builder.tpl");
json_encode($content);
</code>

仔细看下renderrenderPartial参数里面有个$return=false,如下:

<code>public function renderPartial($view,$data=null,$return=false,$processOutput=false)
{
.....
}
</code>

所以你可以这样:

<code>$returnHtml = $this->renderPartial('view', $datas, true);
</code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn