Activedataprovider Non Ne Esco

nonc apisco bene il funzionamento di tale classe: mi spiego, per ora risolvo i miei problemi in questa maniera (premetto che non viglio usare CListView).

Controller:




	public function actionNews($page=0)

	{

		$this->layout='normal';

		$page_size=1;

		

		$pages =new CPagination(News::model()->count());

		$pages->setPageSize($page_size);

		

		if($page>$pages->getPageCount())

			$page=0;

		$pages->setCurrentPage($page);

		

		$news=News::model()->findAll(array('order'=>'id DESC', 'offset'=>$page_size*$page, 'limit'=>$page_size));

		

		$this->render('news', array("news"=>$news, "pages"=>$pages));

	}



View:




		<ul>

		<?php	foreach($news as $n){ ?>

			<li>

				<div class="little-news">

					<?php echo CHtml::image(Yii::app()->request->baseUrl.'/images/news/'.$n->photo,"image",array("width"=>"100")); ?>

					<h3><?php echo $n->title; ?></h3>

					<p><?php echo $n->text; ?></p>

					<a href="#">read more</a>

				</div>

			</li>

		<?php } ?>

		</ul>

		<?php $this->widget('ext.myLinkPager', array('pages'=>$pages)); ?>



Funziona, ma sicuramente si può fare di meglio, aiuto!

Il titolo del thread è “Activedataprovider Non Ne Esco” e l’ultima frase del post è “Funziona, ma sicuramente si può fare di meglio, aiuto!”

Non mi è chiaro qual’è il problema.

classica pagina delle news ma non voglio utilizzare clistview, mi serve fare paginazione e non mi interessa ricaricare via ajax il contenuto delle pagine. utilizzando Activedataprovider posso prelevare le pagine che mi servono passando il mio CPagination oppure la mia soluzione è l’unica cosa che si può fare?

Non c’è mai una sola soluzione quindi la risposta è no: non è l’unica cosa che si può fare.

Io ti do un consiglio, poi fanne quello che vuoi: non risolvere problemi che non hai.

sensoratio santo e subito!

citazione da “lo zen e l’arte di programmare…”

di sensorario :)