如何在zend分页中添加额外的参数。我必须在列表用户中提供过滤功能。所以我想发送带有页码的搜索关键字。
寻呼码
$page = $this->_getParam('page', 1);
$paginator = Zend_Paginator::factory($data);
$paginator->setItemCountPerPage(2);//PAGING_RESULT_PER_PAGE
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange(PAGING_PAGES_RANGE_PER_PAGE);
$this->view->users = $paginator;
我想将onchange事件的搜索数据添加到分页中。 这个分页现在正在使用ajax,我想要它应该根据过滤器数据进行更改。我无法执行此操作....请您提出任何建议
答案 0 :(得分:1)
我不太确定你对“zend paging中的额外参数”是什么意思......你试图将GET参数传递给一个有分页器的控制器吗?什么是$ data内部?您的搜索参数和路线如何?您可以在bootstrap.php中尝试以下内容(如果传递get var是您正在努力解决的问题):
protected function _initConstants()
{
[...]
defined('QSA_SEARCH') || define('QSA_SEARCH', 'q');
[...]
}
在控制器内部,您可以通过以下方式访问它:
[...]
$search = $this->getRequest()->getParam(QSA_SEARCH);
[...]
通过get request传递搜索字符串:
http://domain.com/<controller>/<pagenum>?q=<searchstring>
e.g:
http://domain.com/users/2?q=foo
编辑: 或者您是否在将搜索字符串传递给Zend_Paginator :: factory?
时遇到问题答案 1 :(得分:1)
您可以从javascript更改代码。
<script>
$(document).ready(function(){
$('.paginationControl a').click(function(){
if($('#keyword').val() != '')
{
var href = $(this).attr('href')+'/keyword/'+$('#keyword').val();
$(this).attr('href', href);
}
});
});
</script>
<input type="text" name="keyword" value="" id="keyword"/>
<div class="paginationControl">
<a href="/page/2">2</a>
<a href="/page/3">3</a>
<a href="/page/4">4</a>
<a href="/page/5">5</a>
</div>