@Evgenya-k2

Как составить регулярное выражение для URL?

Настраиваю в проекте 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
Подскажите, как можно сделать?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы