我的应用程序中有一个渲染视图,当我导出为PDF时,我想使用之前渲染的数据。现在我用另一种方式来做,我再次加载所有东西来导出。我该怎么办?
我已经使用过这段代码,但没有成功:
array('label'=>'Export pdf', 'url'=>array($this->renderPartial(
'ViewPDF2', array('sessao' => $GLOBALS['session'],'name_project'=>$model->name_project,'id_project'=>$model->id_project,'dataStart'=>$model->data_start,'dataEnd'=>$model->data_end))))
答案 0 :(得分:2)
我不确定你的视图中是否有这些代码?你将该数组作为参数传递给某个函数?我们现在所能看到的只是你在定义一个数组。
在视图中呈现视图的一般方法是这样的(这是容器视图文件):
<?php //view code here ?>
<!-- some html in your view-->
<div id='included_view' >
<?php $this->renderPartial('viewName', array('argForView'=>$foo)); ?>
</div>
<!-- rest of view -->
请注意,使用$foo
表示您之前已将该变量传递到容器视图(或者您在$foo
之前的PHP代码块中定义了renderPartial
答案 1 :(得分:0)
在url参数中,您应该使用URL地址,该地址引用该操作呈现导出为PDF的视图的操作。 renderPartial方法只是以自己的布局格式呈现视图文件。