2016-07-06 4 views
0

Я хотел бы знать, как маршрутизировать следующий сценарий: у меня есть контроллер под названием «Пользователи», в этом контроллере у меня много действий, один из которых - «профиль».Cakephp 3 - Маршруты являются действием или параметром

Я хочу, чтобы мой адрес быть таким: mysite.com/users/NameOfTheUser ИЛИ mysite.com/users/edit-profile ИЛИ mysite.com/users/edit-photo и т.д.

Когда вы идете «edit-profile» вы будете перенаправлены на действие edit_profile, но здесь идет трюк, когда вы переходите к «NameOfTheUser», я хочу перенаправить на действие «profile», передав «NameOfTheUser» в качестве параметра.

Есть ли способ сделать это без маршрутизации каждого действия вручную?

EDIT я использовал код, который сказал Йоси 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 –

Смежные вопросы