cakephp:设置路由/分页选项

时间:2013-12-04 08:00:38

标签: cakephp pagination

我的规则如下:

Router::connect('/Hotels', array('controller' => 'gesamtobjekt', 'action' => 'search', 'cat' => 8)); 

网址如下所示:domain.com/Hotels

我的分页网址如下:domain.com/Hotels/page:2

对于基于语言的网址,我有一条规则:

Router::connect('/:language/:catname/*', array('controller' => 'gesamtobjekt', 'action' => 'search', 'cat' => 8), array(
'catname' => 'Hotels|Hoteles',
'language' => 'eng|spa|fre|rus'
)); 

网址如下:domain.com/eng/Hotels

在这种情况下,我可以使用这些参数,所以我可以肯定,我是正确的规则。

'language' => 'eng',
'catname' => 'Hotels',
'cat' => (int) 8

我想知道为什么我的分页链接看起来像这样:

domain.com/gesamtobjekt/search/language:eng/page:2

我可以做些什么来获取像domain.com/eng/Hotels/page:2这样的分页网址? 我的规则缺少什么?

请提前告知,非常感谢你!

2 个答案:

答案 0 :(得分:0)

尝试这样,可能会帮助你。

Router::connect('/:language/:catname', array('controller' => 'gesamtobjekt', 'action' => 'search', 'cat' => 8), array(
    'pass' => array('language', 'catname'),
    'catname' => 'Hotels|Hoteles',
    'language' => 'eng|spa|fre|rus'
)); 

答案 1 :(得分:0)

很有趣,这对我有用:

if($this->Session->read('Config.language') != DEFAULT_LANGUAGE){
$this->Paginator->options(array(
    'url' => array(
        'controller' => $this->Session->read('Config.language'),
        'action' => $this->params['catname'],
    )
));
}