如何在zend分页中添加额外的参数

时间:2013-01-03 11:48:37

标签: php zend-framework

enter image description here如何在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,我想要它应该根据过滤器数据进行更改。我无法执行此操作....请您提出任何建议

2 个答案:

答案 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>