Salve a tutti avrei un piccolo problema con il widget CLinkPager
ho il seguente codice
Controller:
public function actionSearch(){
$termine=$_GET['termine'];
//La query sotto funziona perfettamente, e fa anche le sotto query necessarie
//ricorda di usare la notazione ->
$dataProvider=new CActiveDataProvider('Dominio',array(
'criteria'=>array(
'with'=>'venditas',
'with'=>'affittos',
'with'=>'idsottocategoria0',
'with'=>'utenteRichiedeServizios',
'select'=>'*',
'condition'=>'nome_dominio LIKE :nome',
'params'=>array(':nome'=>'%'.$termine.'%'),
),
)
);
$item_count = $dataProvider->itemCount;
$page_size =1;
$pages =new CPagination($item_count);
$pages->setPageSize($page_size);
// simulate the effect of LIMIT in a sql query
$end =($pages->offset+$pages->limit <= $item_count ? $pages->offset+$pages->limit : $item_count);
$sample =range($pages->offset+1, $end);
$this->render('search',array(
'dataProvider'=>$dataProvider,
'item_count'=>$item_count,
'page_size'=>$page_size,
'items_count'=>$item_count,
'pages'=>$pages,
'sample'=>$sample,
));
}
e la view search.php
<div style="height:50px;width:100%">Ricerca Avanzata</div>
<div style="width:90%;">
<?php
$domini=$dataProvider->getData();
foreach($domini as $dominio)
{
?>
<div class="view" id="view<?php echo $dominio->iddominio;?>" style="width:100%;height:80px;float:none">
<div class="labelDiv">
<b><?php echo CHtml::encode($dominio->getAttributeLabel('nome_dominio'));?></b>
<b><?php echo CHtml::encode('Categoria')?></b>
<b><?php echo CHtml::encode('Sottocategoria')?></b>
<?php
if(isset($dominio->affittos[0]))
{
echo "<b>".CHtml::encode('Prezzo Affitto')."</b>";
echo "<b>". CHtml::encode('Periodo Affitto')."</b>";
}
else if(isset($dominio->venditas[0]))
{
echo "<b>".CHtml::encode('Offerta minima')."</b>";
echo "<b>". CHtml::encode('Compra Subito')."</b>";
}
?>
<b>Operazioni</b>
</div>
</div>
<?php }//chiude foreach
?>
<?php //pagination
$this->widget('CLinkPager', array(
'currentPage'=>$pages->getCurrentPage(),
'pages'=>$pages,
));
?>
</div>
Naturalmente è una ricerca personalizzata e mi serve "paginare" i risultati della query fatta con dataProvider
Il sistema di pagina viene visualizzato correttamente, ma vorrei che in ogni pagina venissero messi solo 5 elementi della query. Nel modo in cui ho fatto vengo visualizzati in ogni pagina tutti gli elementi della query.
Cosa sto sbagliando??
Grazie a tutti