Настраиваю в проекте advanced ЧПУ, для страниц просмотра одной новости или одного проекта в контроллере используется один action view, т к шаблон одинаковый:
public function actionView($className, $id, $title)
{
switch ($title) {
case 0:
$title = 'Проекты';
$route = 'site/projects';
break;
case 1:
$title = 'Новости';
$route = 'site/news';
break;
}
if (($model = $className::findOne($id)) !== null) {
return $this->render('view', [
'model' => $model,
'title' => $title,
'route' => $route,
]);
}
throw new NotFoundHttpException('The requested page does not exist.');
}
По умолчанию получается такой урл:
site/view?className=common%5Cmodels%5CNews&id=1&title=1
.
В итоговом варианте хочу получить название модели (последнее слово в className - News) и id, типа:
/news-1
Подскажите, как можно сделать?