Псевдоним контроллера маршрутизации Cakephp

Я пытаюсь сделать то же самое, что и этот сайт, stackoverflow, сделать с их URL.

CakePHP работает так: сайт / контроллер / действие /

Я хочу настроить маршрутизацию для достижения этой цели:

myWebSite.com/questions/(question_id)/(вопрос)/

например: myWebSite.com/questions/12874722/cakephp-routing-controller-alias /

Я не понял, как сделать эту смелую часть URL.

1

Решение

В вашем Config / rout.php

Router::connect('/questions/*', array('controller' => 'questions', 'action' => 'view'));

В Controller / QuestionsController.php

просмотреть действие получить идентификатор вопроса как

public function view() {
$question_id = isset($this->request->params['pass'][0]) ? $this->request->params['pass'][0] : "";
$question = isset($this->request->params['pass'][1]) ? $this->request->params['pass'][1] : "";

if( empty($question_id) ) {
throw new NotFoundException('Could not find that question');
}

// if $question is empty then get slug from database and redirect to /question_id/question// Get question details and set
}
1

Другие решения

Других решений пока нет …