cakephp反向路由与分页逻辑冲突

时间:2010-09-04 14:47:57

标签: cakephp routing pagination

我有一个新问题:) 我将简要解释一下我想要实现的目标。现在我有一个看起来像这样的网址。

/products/index/brand:figleaves

我希望这看起来像这样

/brand/figleaves

通过编写以下路线规则,我得到了我想要的东西。

Router::connect('/brand/:brand/*', array('controller' => 'products', 'action' => 'index'));

一切顺利,但后来我发现分页逻辑已被破坏。 如果我点击“下一页”,我会被重定向到网址/products/index/page:2

  1. 它没有通过品牌参数
  2. 它会重定向回到products_controller而不是我在路由规则中定义的网址。
  3. 实际上我需要这个作为网址/brand/figleaves/page:2

    奇怪的是,如果我浏览/products/index/brand:figleaves并点击下一步,那么我会被重定向到/brand/figleaves/page:2。怎么解释这个?

    我很感激一些帮助:)

    亲切的问候, 劳伦

1 个答案:

答案 0 :(得分:2)

对于那些对我如何解决这个问题感兴趣的人。

我刚刚在视图中定义了paginator中的一些选项,并明确地传递了值,就像这样。

    $this->Paginator->options(array
            ('url'=> array(
                'controller' => 'products', 
                'action' => 'index',
                'brand'=>$this->params['brand']
   )));  

这就是工作:)