簡體   English   中英

CakePHP分頁和獲取參數

[英]CakePHP pagination and the get parameters

我的搜索頁面中的分頁存在問題。 當用戶搜索某些內容時,我有一個像domain.com/search/?s=keyword這樣的網址,但是paginator會給我一些像domain.com/search/page:x這樣的鏈接,所以在下一個和prev和數字頁面中,get參數會丟失。 我需要配置paginator來獲取像domain.com/search/page:x/?s=keyword這樣的鏈接但是我不能這樣做。

我需要知道如何配置

$paginator->options();
$paginator->next();
$paginator->prev();
$paginator->numbers();

獲得所需的效果。 感謝名單。

創建選項數組

$options = array(
    'url'=> array(
        'controller' => 'posts', 
        'action' => 'search', 
        '?' => 'keyword='.$keyword
     )
);

把它設置為幫手

$paginator->options($options)

然后你可以在保留GET變量的同時使用paginator helper。

希望它有幫助:)

為了方便您在視圖或.ctp文件中使用putl $ paginator選項

$this->Paginator->options['url']['?'] = $this->params['ur];

然后把你想要的值:)

要將所有URL參數傳遞給paginator函數,請將以下內容添加到視圖中:純文本視圖

$paginator->options(array('url' => $this->passedArgs));

而已。 請參閱http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html

在視圖中使用語句,以便在分頁時傳遞參數

$paginator->options(array('url' => $this->passedArgs));

這是傳遞參數的最簡單方法。

有些時候$this->passedArgs沒有工作,在那里傳遞靜態值並嘗試使用該靜態值。

$paginator->options(array('url' => array('a', 'b'))); 

我使用了Matyas解決方案,但對於$ keyword,我確實喜歡這樣:

$queryString = explode('?', $_SERVER['REQUEST_URI']);
$options = array('url'=> array('controller' => 'post', 'action' => 'search', '?' => $queryString[1]));

檢查此評論

我用它,它工作正常。

在app_controller文件中:

function _paginatorURL() {
  $passed = "";
  $retain = $this->params['url'];
  unset($retain['url']);
  $this->set('paginatorURL',array($passed, '?' => http_build_query($retain)));
}

function beforeFilter()
{
  $this->_paginatorURL();
}

在視圖文件中:

  <?php $paginator->options = array( 'url' => $paginatorURL );?>

希望能幫助到你。

基本上你可以這樣做:

function list_results($keywords)
  {
  $data = $this->paginate('Posts', array('Post.title LIKE' => '%'.$keywords.'%'));
  }

我知道這是舊的,但找到了一個適合我的簡單解決方案。 在視圖文件中添加以下內容

$paginator->options(array('url' => array_merge($this->passedArgs,
array('?' => ltrim(strstr($_SERVER['QUERY_STRING'], '&'), '&')))));

在這里找到它

$this->Paginator->options['url']['?'] = ['key' => $this->params['url']['value']];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM