How to use two result of more than one dataProvider in view

Hi,

I want to use result of two dataProviders in a single view, But i am not able to achieve through render Partial.

Controller - method:

public function actionIndex()


{


	$dataProvider=new CActiveDataProvider('Karnews',


		array('criteria'=>array(


				'condition'=>'category=0',


				'limit'=>'10',


			),


		)		


	);


	


	$forumdataProvider=new CActiveDataProvider('Karnews',


		array('criteria'=>array(


				'condition'=>'category=1',


				'limit'=>'10',


			),


		)		


	);


	


	$this->render('index',array(


		'dataProvider'=>$forumdataProvider,			


	));


	


	$this->renderPartial('index',array(


		'dataProvider'=>$dataProvider,			


	));


}

View - index:

<div class="mainpage-list-item">

&lt;?php 						


&#036;this-&gt;beginWidget('zii.widgets.CPortlet', array(


	'title'=&gt;'Latest News',		


));





&#036;this-&gt;widget('zii.widgets.CListView', array(


	'dataProvider'=&gt;&#036;dataProvider,


	'itemView'=&gt;'_view',


	'summaryText'=&gt;false,


	//'itemsCssClass'=&gt;'mainpage-list-item',


)); 	





&#036;this-&gt;endWidget();


?&gt;





&lt;?php 						


&#036;this-&gt;beginWidget('zii.widgets.CPortlet', array(


	'title'=&gt;'Latest Forum Topics',		


));





&#036;this-&gt;widget('zii.widgets.CListView', array(


	'dataProvider'=&gt;&#036;dataProvider,


	'itemView'=&gt;'_view',


	'summaryText'=&gt;false,


	//'itemsCssClass'=&gt;'mainpage-list-item',


)); 	





&#036;this-&gt;endWidget();


?&gt;

</div>

I am getting the content twice (which i do not want) rather than two different dataProvider result. When i tried without the renderPartial statement i got an error dataProvider ($forumdataProvider) is null.

Can you please help me get the result of two dataProviders to a view.

Thank you…




//your code  :

$this->render('index',array(

'dataProvider'=>$forumdataProvider,	

));


$this->renderPartial('index',array(

'dataProvider'=>$dataProvider,	

));




try this :




$this->render('index',array(

'forumdataProvider'=>$forumdataProvider,

'dataProvider' => $dataProvider,	

));




in your view file





<div class="mainpage-list-item">	

<?php 

$this->beginWidget('zii.widgets.CPortlet', array(

'title'=>'Latest News',	

));


$this->widget('zii.widgets.CListView', array(

'dataProvider'=>$forumdataProvider,

'itemView'=>'_view',

'summaryText'=>false,

//'itemsCssClass'=>'mainpage-list-item',

)); 


$this->endWidget();

?>


<?php 

$this->beginWidget('zii.widgets.CPortlet', array(

'title'=>'Latest Forum Topics',	

));


$this->widget('zii.widgets.CListView', array(

'dataProvider'=>$dataProvider,

'itemView'=>'_view',

'summaryText'=>false,

//'itemsCssClass'=>'mainpage-list-item',

)); 


$this->endWidget();

?>

</div>






do you see what i mean ? you can pass more than one dataProvider to a same view file .and then refer it

with the “key” of array which as render 's second parameter .

Thank you very much yiqing :rolleyes: … Code is working like a gem…

when data displayed in view file?