0

在此处输入图像描述我如何在 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 现在我想要它应该根据过滤器数据进行更改。我无法执行此操作....你能给我任何建议吗

4

2 回答 2

1

我不太确定“zend 分页中的额外参数”是什么意思……您是否试图将 GET-Parameter 传递给具有分页器的控制器?$data 里面是什么?您的搜索参数和路线如何?您可以在 bootstrap.php 中尝试以下操作(如果传递 get var 是您正在努力解决的问题):

protected function _initConstants()
{
    [...]

    defined('QSA_SEARCH') || define('QSA_SEARCH', 'q');

    [...]
}

在您的控制器内部,您可以通过以下方式访问它:

    [...]

    $search = $this->getRequest()->getParam(QSA_SEARCH);

    [...]

通过 get 请求传递搜索字符串:

http://domain.com/<controller>/<pagenum>?q=<searchstring>

例如:

http://domain.com/users/2?q=foo

编辑:或者您在将搜索字符串传递给 Zend_Paginator::factory 时遇到问题?

于 2013-01-03T12:11:35.073 回答
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>
于 2013-01-04T07:13:56.860 回答