4

我有一个类别列表,其中显示了它下面的项目列表。

因此:

路线有:

Router::connect('/category/:slug', array('controller' => 'Product',
             'action'=>'catview', 'slug'=> '[0-9a-zA-Z]+'));
Router::connect('/category/:slug/:page', array('controller' => 'Product',
             'action'=>'catview','slug'=> '[0-9a-zA-Z]+','page'=>'[0-9]+'));

当我在结果页面中执行此操作时,它不起作用:

<?php 
        $slug = $this->params['slug'];
        $this->Paginator->options(array('url'=> array('controller' => 'Product',
                             'action'=>'catview','slug'=> $slug)));

        echo $this->Paginator->prev('<< Show me previous', array('class'=>'prev'))
        . $this->Paginator->next('Show me more >>', array('class'=>'next')); ?>

它不会改变结果,它显示的结果与第 1 页上的结果相同。

有什么想法我哪里出错了吗?

4

1 回答 1

6

感谢AD7six的参考。

我的控制器需要:

$this->paginate = array(
 //other stuff here
 'paramType' => 'querystring'
);

其次是:

$this->Paginator->options(array('url'=> array('controller' => 'Product',
                                  'action'=>'catview','slug'=> $slug),
                                     'convertKeys' => array('page')));

在视图文件中

于 2013-07-28T15:51:36.540 回答