Здравствуйте.
У меня возник вопрос по настройке URL, есть условно таблица со списком тестов, которая имеет столбцы 'id','name','alias'. Страница конкретного теста имеет путь /test/index?test_id=1. Как мне настроить правила роутинга, чтобы ссылка имела вид /test/алиас_конкретного_теста? Заранее спасибо.
Настройка роутинга
Re: Настройка роутинга
В конфиге
В контроллере
Код: Выделить всё
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'rules' => [
'test/<alias:[\w-]+>' => 'test/view',
]
Код: Выделить всё
public function actionView($alias)
{
return $this->render('view', [
'model' => $this->findModel($alias),
]);
}
protected function findModel($alias)
{
if (($model = Test::findOne(['alias' => $alias])) !== null) {
return $model;
} else {
throw new NotFoundHttpException('404');
}
}
Проект на Yii2 о Yii2. Блог, примеры кода, и многое другое о Yii Framework 2 и не только