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

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

阅读 4.2k
4 个回答

renderpartial试试

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

=======

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

php$html = $this->render('index');

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

json_encode($html);

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

php$this->renderAjax('index');

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

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

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

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

所以你可以这样:

$returnHtml = $this->renderPartial('view', $datas, true);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题