Zend Framework 2 - 分页
问题描述:
如何获取控制器操作中的页面详细信息? 我已经使用了专辑的分页。Zend Framework 2 - 分页
$iteratorAdapter = new \Zend\Paginator\Adapter\Iterator($this->getAlbumTable()->fetchAll());
$paginator = new \Zend\Paginator\Paginator($iteratorAdapter);
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage(2);
return new ViewModel(array(
'paginator' => $paginator
));
我试图通过使用方法getPages()来获得。
$iteratorAdapter = new \Zend\Paginator\Adapter\Iterator($this->getAlbumTable()->fetchAll());
$paginator = new \Zend\Paginator\Paginator($iteratorAdapter);
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage(2);
$pagingInfo = $paginator->getPages();
return new ViewModel(array(
'paginator' => $paginator,
'pagingInfo' => $pagingInfo,
));
在这种情况下,我有8条记录表。每页是2.所以,我有4页。 使用getPages()方法后,第3页&第4页没有记录。但分页存在。
怎么了?是否有任何其他方法可以在控制器中获得总记录数,当前页码和当前页记录数? 请给我建议。
答
这是预期的bahaviour。
您已设置每页项目2,当前页面1.
这意味着你会回来的第一页上,即所有项目。项目1和2
如果你想在集合中的总页数使用此:
$paginator->count();
当前页码:
$paginator->getCurrentPageNumber()
你问来获取当前页数控制器, 但为什么?你正在设置你的控制器的这个值,所以你必须已经拥有它(setCurrentPageNumber(..))..
如果你让我知道你在做什么,也许我可以告诉你一个更好的例子,如何做它。
有没有人有建议? – 2plus