cakephp路由订单和分页

时间:2012-09-18 10:28:07

标签: cakephp sorting routing

我正在尝试在CakePHP中为我的控制器做路由。

我的控制器名为UserGames。 默认的CakePHP排序代码:

<?php echo $this->Paginator->sort('price'); ?>

默认情况下,排序链接如下所示:userGames/index/sort:name/direction:asc

我添加了以下路由规则:

Router::connect('/games', array('controller' => 'UserGames', 'action' => 'index'));
Router::connect('/games/:sort/:direction', array('controller' => 'UserGames'));

使用这些排序链接可以生成如下网址:games/name/asc

排序不起作用,$ this-&gt; PassedArgs为空。我的错误是什么?

1 个答案:

答案 0 :(得分:0)

如果希望命名参数在passArgs中作为传递参数使用,则需要为第二个Router :: connect调用提供第三个参数。

Router::connect('/games/:sort/:direction',
    array('controller' => 'UserGames'),
    array('pass' => array('sort', 'direction')));

在这种情况下,$this->passedArgs[0]将是排序值,$this->passedArgs[1]将是方向值。

有关详细信息,请参阅the CakePHP docs