Я пытаюсь создать маршрут, и у меня возникают трудности с его работой.
У меня есть это действие
// MembershipsController
public function professional_info($type = null, $member_id = null) {
// Work done here.
}
Это легко доступно через url /memberships/professional-info/mytype/{user-id-here}
Однако я хотел бы изменить этот URL-адрес:
/mytype-professional-info/{user-id-here}
По этой причине я пытаюсь создать маршрут, автоматически передающий mytype
в качестве первого аргумента для professional_info
, а затем принимает числовой идентификатор пользователя из URL-адреса, передавая его как второй аргумент.
Я пробовал вещи, похожие на следующие:
Router::connect('/mytype-professional-info/:id',
array('controller' => 'memberships', 'action'=> 'professiona_info', 'mytype'),
array(
"pass" => array('id'),
"id" => '[0-9]+',
)
);
Большое спасибо.
Как вы определили маршрут, он будет передавать тип, но как второй аргумент.
Если это не приемлемо по какой-либо причине, вам придется явно передать параметр, однако это работает только с использованием именованных элементов:
Router::connect(
'/mytype-professional-info/:id',
array(
'controller' => 'memberships',
'action'=> 'professional_info',
'type' => 'mytype'
),
array(
'pass' => array('type', 'id'),
'id' => '[0-9]+',
)
);