Yii渲染视图在另一个视图中

时间:2013-02-05 11:23:45

标签: php pdf frameworks yii

我的应用程序中有一个渲染视图,当我导出为PDF时,我想使用之前渲染的数据。现在我用另一种方式来做,我再次加载所有东西来导出。我该怎么办?

我已经使用过这段代码,但没有成功:

array('label'=>'Export pdf', 'url'=>array($this->renderPartial(
      'ViewPDF2', array('sessao' => $GLOBALS['session'],'name_project'=>$model->name_project,'id_project'=>$model->i‌d_project,'dataStart'=>$model->data_start,'dataEnd'=>$model->data_end))))

2 个答案:

答案 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方法只是以自己的布局格式呈现视图文件。