alex4answ
@alex4answ

Как реализовать динамические url?

Добрый день, есть ссылка вида:
site.ru/#category#/#product#/#type#/
Где собственно category, product, type - подтягиваются из базы, если нет - 404

Не совсем понимаю как реализовать этот шаблон с помощью стандартного UrlManager, кроме как реализовать свой класс с реализацией интерфейса UrlRuleInterface

Либо прописать "карту маршрутов", тоесть для каждого статического шаблона - прописать контроллер/действие:
'contact' => 'site/contact',
'about'   => 'site/about',
и тд.


Как это сделать правильно, чтобы потом не выстрелить себе в ногу этим?

Заранее спасибо
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
В маршрутах прописать что-то типа такого:
'<category:[\w-]+>/<product:[\w-]+>/<type:[\w-]+>' => 'category/product',


'category/product' - это адрес вида контроллер/экшн
В этом экшне получить параметры category product type, проверить существование и сгенерировать 404 эксепшн в случае необходимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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