2013-01-03 43 views
0

enter image description here如何在zend分頁中添加額外的參數。我必須在列表用戶中提供過濾功能。所以我想發送帶有頁碼的搜索關鍵字。如何在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

你可以從javascript替換href。 –

回答

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> 
+0

會給這個嘗試 –

1

我不太清楚您在「zend paging」中的額外參數是什麼意思......您是否試圖通過GET參數到一個控制器有一個paginator?什麼是$數據內?你的搜索參數和路線是怎樣的?你可以試試你的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的搜索字符串?

+0

我現在在用戶列表上有一個輸入字段,我想要做的就是如果用戶搜索帶有字母'abc'的用戶,那麼這些字母會自動添加到分頁中。 –

+0

您能否提供$ data的內容?在將數據傳遞給Zend_Paginator :: factory之前,您只需將$ serach的內容(請參閱上面的答案)添加到$ data。所以如果它的一個數據庫請求: $ data-> where('table.username LIKE?','%'。$ serach。'%') – simplyray

+0

我想在分頁中添加參數更改......順便謝謝你的回覆.. –

相關問題