2013-02-05 63 views
0

我在我的應用程序中有一個呈現的視圖,當我導出爲PDF時,我想使用之前呈現的數據。現在我正在使用另一種方式來做到這一點,我再次加載所有的東西來導出。我該怎麼做?Yii在另一個視圖中呈現視圖

我用這個代碼,但沒有取得過成功:

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)))) 
+0

代碼在哪裏? – Jon

+0

我有一個視圖,我只是想知道如何渲染它的另一個視圖。我使用了這段代碼,但沒有成功: 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'=> > data_end)))), – Renan

+0

在url中你必須把url。因此,您不需要放入renderPartial,而需要放置$ this-> createUrl()值。 – sensorario

回答

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存在意味着你先前已經通過該變量(或者您在renderPartial之前的PHP代碼塊中定義了$foo

0

在url參數中,您應該使用一個URL地址,它指向那個操作呈現導出爲PDF的視圖的操作。 renderPartial方法只是呈現自己的佈局格式的視圖文件。

相關問題