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 イベントを paging に追加したい。このページングは​​ ajax を使用して機能しており、フィルタ データに従って変更する必要があります。私はこれを実行することができません....何か提案をください。

4

2 に答える 2

1

「zendページングの追加パラメーター」の意味がよくわかりません...ページング機能を備えたコントローラーにGETパラメーターを渡そうとしていますか?$ 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 に答える