我想知道如何路由以下场景:我有一个名为Users的控制器,在这个控制器中我有很多动作,其中一个是“profile”。
我希望我的地址是这样的:mysite.com/users/NameOfTheUser或mysite.com/users/edit-profile或mysite.com/users/edit-photo等。
当您选择“编辑配置文件”时,您将被重定向到edit_profile操作,但是当您转到“NameOfTheUser”时,我想重定向到“配置文件”操作,将“NameOfTheUser”传递为一个参数。
有没有办法在不手动路由每个动作的情况下这样做?
修改 我使用了Yosi Azwan所说的代码,但是我必须在控制器用户中为每个其他页面创建一个新路由。
Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
答案 0 :(得分:0)
也许这就是你要找的东西
Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
并阅读此文件以获取完整的文件 http://book.cakephp.org/3.0/en/development/routing.html