2010-08-26 142 views
2

我似乎無法使用自定義路由與分頁。博客的URL應該是http://www.domain.com/en/page:2。但是,由PaginateHelper(prev和next)生成的鏈接不斷添加控制器和操作,以便URL看起來像http://www.domain.com/posts/index/en/page:2CakePHP:分頁和自定義路由

路由配置是非常簡單的:

Router::connect(
    '/:lang/*', 
    array(
     'controller' => 'posts', 
     'action' => 'index' 
    ), 
    array(
     'lang' => '[a-z]{2}', 
     'pass' => array(
      'lang' 
     ) 
    ) 
); 

我設置在視圖中:

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

並且還沒有使用陣列

發生這種情況與手動設定的路徑蛋糕1.33

任何幫助將不勝感激!

回答

3

Paginator助手似乎prev和next方法不使用默認選項。這就是爲什麼

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

不起作用。您可以直接在prev和next方法上設置它。例如:

$paginator->prev('<< Previous', array('url' => $this->passedArgs)); 

希望有所幫助。

+0

感謝您的回答!不幸的是,它並沒有解決我的問題(仍然是一樣的:Cake不斷地將控制器+操作添加到它不應該的URL)。我會在接下來的日子裏跟蹤核心。 – harpax 2010-08-30 14:40:25

+0

aargh ..我發現它:passedArgs只包含var'lang'。當我將控制器和操作添加到其工作的索引中時。再次感謝 – harpax 2010-09-21 13:04:14

+0

@harpax你如何解決這個問題,你可以分享這個答案,請 – 2012-03-29 12:53:16