【发布时间】:2013-12-22 16:11:55
【问题描述】:
我有一个搜索表单,它返回一堆图像。因为它们的数量可能很高,所以我更喜欢使用分页显示结果。但是,我似乎无法让它正常工作。我已将所有内容移至视图以使事情尽可能简单。
这是我的搜索和分页代码sn-p:
$searchData = $model->search(); // this is the result of the search
$pages = new CPagination($searchData->itemCount);
$searchData->setPagination($pages);
$pages->applyLimit($searchData->criteria);
$pages->pageSize = 2;
然后,我使用“foreach”语句显示结果:
foreach($searchData->getData() as $data)
{
// results displayed here
}
最后,我有了 CLinkPager 小部件:
$this->widget('CLinkPager', array(
'pages' => $pages,
'header' => 'Отиди на страница: ',
'nextPageLabel' => 'Следваща',
'prevPageLabel' => 'Предишна',
)); `
问题是:小部件和显示的结果之间没有关系。 例如,如果我得到 4 个结果,则小部件正确显示有 2 个页面。但是,结果不会显示在两个页面中,都显示在一个页面中,单击 CLinkPager 链接什么也不做。
我以前成功地完成了分页,但是对于所有数据使用 模型()->查找所有()。
如何说明分页小部件和搜索结果之间的关系...?
感谢您的宝贵时间。
【问题讨论】:
-
这不是我想要的,但我从链接中获得了一些灵感并设法解决了我的问题。谢谢你,真诚的!诀窍是从 $model->search() 获取查询条件,然后将 $model->findAll() 与该条件一起使用。
标签: php search yii pagination