Hola comunidad
tengo un problema
agregue a el clasico "admin" generado por "crud" criterios de busqueda
cuando hago el submit, me retorna los datos filtrados, pero cuando retorna muchos datos y uso el paginador para ir a la siguiente pagina, pierdo el criterio y me retorna todos los datos (porque no hace submit)
mi pregunta es ¿¿¿Como se hace esto???
les paso el codigo para que me puedan entender un poco mejor
Controlador
public function actionAdmin()
{
$this->processAdminCommand();
$criterios=array('b_dominio'=>'','b_valor'=>'','b_descripcion'=>'','b_cod_sisa'=>'');
$criteria=new CDbCriteria;
if (!empty($_POST['b_dominio'])) {
$criteria->condition='dominio like :dominio';
$criteria->params=array(':dominio'=>$_POST['b_dominio'].'%');
$criterios['b_dominio']=$_POST['b_dominio'];
}
if (!empty($_POST['b_valor'])) {
if (empty($criteria->condition))
$criteria->condition='valor like :valor';
else
$criteria->condition=$criteria->condition.' and valor like :valor';
$criteria->params=array_merge($criteria->params,array(':valor'=>$_POST['b_valor'].'%'));
$criterios['b_valor']=$_POST['b_valor'];
}
if (!empty($_POST['b_descripcion'])) {
if (empty($criteria->condition))
$criteria->condition='descripcion like :descripcion';
else
$criteria->condition=$criteria->condition.' and descripcion like :descripcion';
$criteria->params=array_merge($criteria->params,array(':descripcion'=>$_POST['b_descripcion'].'%'));
$criterios['b_descripcion']=$_POST['b_descripcion'];
}
if (!empty($_POST['b_cod_sisa'])) {
if (empty($criteria->condition))
$criteria->condition='cod_sisa like :cod_sisa';
else
$criteria->condition=$criteria->condition.' and cod_sisa like :cod_sisa';
$criteria->params=array_merge($criteria->params,array(':cod_sisa'=>$_POST['b_cod_sisa'].'%'));
$criterios['b_cod_sisa']=$_POST['b_cod_sisa'];
}
$pages=new CPagination(Dominios::model()->count($criteria));
$pages->pageSize=self::PAGE_SIZE;
$pages->applyLimit($criteria);
$sort=new CSort('Dominios');
$sort->applyOrder($criteria);
$models=Dominios::model()->findAll($criteria);
$this->render('admin',array(
'models'=>$models,
'pages'=>$pages,
'criterios'=>$criterios,
'sort'=>$sort,
));
}
Vista
<?php echo CHtml::beginForm(); ?>
<h2>Administrar Dominios</h2>
<div class="actionBar">
[<?php echo CHtml::link('Lista de Dominios',array('list')); ?>]
[<?php echo CHtml::link('Nuevo Dominios',array('create')); ?>]
</div>
<table class="dataGrid">
<thead>
<tr>
<th><?php echo $sort->link('idDominio'); ?></th>
<th><?php echo $sort->link('dominio'); ?></th>
<th><?php echo $sort->link('valor'); ?></th>
<th><?php echo $sort->link('descripcion'); ?></th>
<th><?php echo $sort->link('cod_sisa'); ?></th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($models as $n=>$model): ?>
<tr class="<?php echo $n%2?'even':'odd';?>">
<td><?php echo CHtml::link($model->idDominio,array('show','id'=>$model->idDominio)); ?></td>
<td><?php echo CHtml::encode($model->dominio); ?></td>
<td><?php echo CHtml::encode($model->valor); ?></td>
<td><?php echo CHtml::encode($model->descripcion); ?></td>
<td><?php echo CHtml::encode($model->cod_sisa); ?></td>
<td>
<?php echo CHtml::link('Modificar',array('update','id'=>$model->idDominio)); ?>
<?php echo CHtml::linkButton('Borrar',array(
'submit'=>'',
'params'=>array('command'=>'delete','id'=>$model->idDominio),
'confirm'=>"Esta seguro de borrar #{$model->idDominio}?")); ?>
</td>
</tr>
<?php endforeach; ?>
<tr>
<td><?php echo ""?></td>
<td><?php echo CHtml::TextField('b_dominio',$criterios['b_dominio'],array('size'=>10)); ?></td>
<td><?php echo CHtml::TextField('b_valor',$criterios['b_valor'],array('size'=>10)); ?></td>
<td><?php echo CHtml::TextField('b_descripcion',$criterios['b_descripcion'],array('size'=>10)); ?></td>
<td><?php echo CHtml::TextField('b_cod_sisa',$criterios['b_cod_sisa'],array('size'=>10)); ?></td>
<td<?php echo CHtml::submitButton('Buscar'); ?></td>
</tr>
</tbody>
</table>
<br/>
<?php $this->widget('CLinkPager',array('pages'=>$pages)); ?>
<?php echo CHtml::endForm(); ?>
mirando el foro del sitio (yiiframework) veo que si funciona
pero la diferencia esta en el url que forma
en mi codigo el CLinkPager genera
<pre id="line189">Ir a página: <<span class="start-tag">ul</span><span class="attribute-name"> id</span>=<span class="attribute-value">"yw0" </span><span class="attribute-name">class</span>=<span class="attribute-value">"yiiPager"</span>><<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"first hidden"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin">/sistemas/index.php?r=comun/dominios/admin</a><span>"</span>>&<span class="entity">lt;</span>&<span class="entity">lt;</span> Primero</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"previous hidden"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin">/sistemas/index.php?r=comun/dominios/admin</a><span>"</span>>&<span class="entity">lt;</span> Anterior</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"page selected"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin">/sistemas/index.php?r=comun/dominios/admin</a><span>"</span>>1</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"page"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin&page=2">/sistemas/index.php?r=comun/dominios/admin&page=2</a><span>"</span>>2</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"page"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin&page=3">/sistemas/index.php?r=comun/dominios/admin&page=3</a><span>"</span>>3</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"page"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin&page=4">/sistemas/index.php?r=comun/dominios/admin&page=4</a><span>"</span>>4</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"next"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin&page=2">/sistemas/index.php?r=comun/dominios/admin&page=2</a><span>"</span>>Siguiente &<span class="entity">gt;</span></<span class="end-tag">a</span>></<span class="end-tag">li</span>>
</pre><pre id="line197"><<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"last hidden"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://10.11.49.2:8080/sistemas/index.php?r=comun/dominios/admin&page=4">/sistemas/index.php?r=comun/dominios/admin&page=4</a><span>"</span>>Último &<span class="entity">gt;</span>&<span class="entity">gt;</span></<span class="end-tag">a</span>></<span class="end-tag">li</span>></<span class="end-tag">ul</span>></<span class="end-tag">form</span>></<span class="end-tag">div</span>><span class="comment"><!-- content --></span>
</pre>
y en el sitio, buscando "Chtml" genera
<pre id="line9"><<span class="start-tag">div</span><span class="attribute-name"> class</span>=<span class="attribute-value">"topic_controls"</span>>
<<span class="start-tag">ul</span><span class="attribute-name"> class</span>=<span class="attribute-value">"pagination left"</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"total"</span>>(8 Pages)</<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> id</span>=<span class="attribute-value">"anonymous_element_1" </span><span class="attribute-name">class</span>=<span class="attribute-value">"pagejump clickable pj0091227001"</span>>
<<span class="start-tag">img</span><span class="attribute-name"> src</span><span>="</span><a href="view-source:http://www.yiiframework.com/forum/public/style_images/master/dropdown.png">http://www.yiiframework.com/forum/public/style_images/master/dropdown.png</a><span>" </span><span class="attribute-name">alt</span>=<span class="attribute-value">"+"</span>>
<<span class="start-tag">script</span><span class="attribute-name"> type</span>=<span class="attribute-value">"text/javascript"</span>>
ipb.global.registerPageJump( '0091227001', { url: "http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1", stKey: 'st', perPage: 25, totalPages: 8 } );
</<span class="end-tag">script</span>>
</pre><pre id="line19"> </<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"active"</span>>1</<span class="end-tag">li</span>>
<<span class="start-tag">li</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=25">http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=25</a><span>" </span><span class="attribute-name">title</span>=<span class="attribute-value">"2"</span>>2</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=50">http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=50</a><span>" </span><span class="attribute-name">title</span>=<span class="attribute-value">"3"</span>>3</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"next"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=25">http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=25</a><span>" </span><span class="attribute-name">title</span>=<span class="attribute-value">"Next page" </span><span class="attribute-name">rel</span>=<span class="attribute-value">"next"</span>>→</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
<<span class="start-tag">li</span><span class="attribute-name"> class</span>=<span class="attribute-value">"last"</span>><<span class="start-tag">a</span><span class="attribute-name"> href</span><span>="</span><a href="view-source:http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=175">http://www.yiiframework.com/forum/index.php?app=core&module=search&do=quick_search&search_sort_by=date&search_sort_order=desc&search_term=CHtml&search_filter_app[forums]=1&st=175</a><span>" </span><span class="attribute-name">title</span>=<span class="attribute-value">"Go to last page" </span><span class="attribute-name">rel</span>=<span class="attribute-value">"last"</span>>Last »</<span class="end-tag">a</span>></<span class="end-tag">li</span>>
</pre><pre id="line44">
</<span class="end-tag">ul</span>>
</<span class="end-tag">div</span>>
</pre>
yo quiero hacer eso
usa otro widget?
saludos