5

在我的 Cake 应用程序中,我有一个控制器“completed_projects”。它的 index 动作不带参数并列出了一些项目。example.com/completed_projects/index/page:23etc可以访问不同的页面 。

我想让网址是这样的:

example.com/portfolio/page23

显然我需要为此制定一些路线。我试过很多,比如:

Router::connect('/portfolio/page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('pass'=>'page:num', 'num'=>'[0-9]+'));

并且:

Router::connect('/portfolio/:page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('named'=>'num', 'page'=>'page', 'num'=>'[0-9]+'));

我也尝试一次又一次地修改它们,但它们都不能很好地工作。

我正在使用 CakePHP 1.3。任何帮助将不胜感激。

4

1 回答 1

1
Router::connect('/portfolio/page:page_num',
    array('controller'=>'completed_projects', 'action'=>'index'),
    array('page_num'=>'[\d]+')
);

在您的控制器中,使用以下命令访问 page_num:

$this->params['page_num'];
于 2010-07-17T09:45:00.457 回答