2016-07-06 51 views
0

我想知道如何路由以下场景:我有一个名为Users的控制器,在此控制器中,我有很多操作,其中之一是“配置文件”。Cakephp 3 - 路由是行动还是参数

我希望我的地址为这样的:mysite.com/users/NameOfTheUser或mysite.com/users/edit-profile或mysite.com/users/edit-photo等

当你去“edit-profile”你将被重定向到edit_profile动作,但是这里有个窍门,当你转到“NameOfTheUser”时,我想重定向到“profile”动作,传递“NameOfTheUser”作为参数。

有没有办法做到这一点,而无需手动路由每个动作?

编辑 我用Yosi Azwan说的代码,它的工作原理,但我必须创建在控制器的用户互相页的新路线。

Router::connect('/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']]); 

回答

0

也许这是你在找什么

Router::connect('/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']]); 

和阅读完整单证 http://book.cakephp.org/3.0/en/development/routing.html

+0

啊,这是一种我所需要的。但例如,要去用户/编辑我不得不创建一个新的路线来执行此操作。没有路线,它将重定向到动作配置文件。 但它工作,thx –