我想获得一个模板的内容, yii应该如何做?网上给的render好像不行,不知道哪里写错了。
回复内容: 我想获得一个模板的内容, yii应该如何做?网上给的render好像不行,不知道哪里写错了。
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);
仔细看下render和renderpartial参数里面有个$return=false,如下:
public function renderpartial($view,$data=null,$return=false,$processoutput=false){.....}
所以你可以这样:
$returnhtml = $this->renderpartial('view', $datas, true);