Я новичок в системе Symfony. В настоящее время у меня есть маршрут в mybundle/Ресурсы/конфигурации/routing.yml:Маршрутизация Symfony с динамическими необязательными параметрами
fcr_category_head:
path: head/{slug}/{city}/{page}
defaults: { _controller: AppBundle:Head:index, slug: "", city: "all", page: 1 }
requirements: {page: "\d+"}
проблема заключается в том, что city
опция доступна, когда пользователь использует фильтр, чтобы сузить результаты выбранного города, если city
не существует, второй параметр должна быть страница.
так вариации маршрута могут быть такими:
head/slug/city //default page 1 if city is not a number, if number then it is page
head/slug/city/10 //e.g page 10
head/slug/10 //no city parameter, because it is number, page 10
возможно сделать эти комбинации в маршрутизации файла или единственный способ решить это Тхо написать свою собственную логику в контроллере?
спасибо.
Это звучит как хороший вариант использования для параметров запроса, а не атрибутов. Это намного более гибко, что, если вы хотите добавить дополнительный параметр? Посмотрите на большинство сайтов ecom, они используют параметр запроса в фильтрационных продуктах. – Luke
@ Luke Да, но у меня есть запрос, что 'city' должен быть в этом формате. Я думаю, что это в основном для SEO, другие параметры фильтра будут определены как параметры запроса, как вы предложили. – DeividasJJ