Название этого вопроса было трудно найти, возможно, оно не лучшее.Zend Framework: как нарисовать полностью динамический маршрут
У меня есть сайт с регионами, категориями и поставщиками, очевидным решением является использование маршрута по умолчанию
"/:module/:controller/:action"
Так что мои URL-адреса будет выглядеть как этот
"/region/midlands/category/fashion"
"/region/midlands/supplier/ted-baker"
Я желательно, чтобы это формат URL, как это, однако, это должно было бы включать запрос базы данных для проверки наличия midlands
, fashion
и ted-baker
"/midlands/fashion"
"/midlands/ted-baker"
Мое первоначальное решение было использовать что-то вроде этого
"/region/midlands/fashion"
С маршрута определяется как
routes.category.route = "/region/:region/:category"
routes.category.defaults.controller = category
routes.category.defaults.action = index
routes.category.defaults.module = default
routes.category.defaults.category = false
routes.category.defaults.region = false
routes.supplier.route = "/supplier/:supplier"
routes.supplier.defaults.controller = supplier
routes.supplier.defaults.action = index
routes.supplier.defaults.module = default
routes.supplier.defaults.supplier = false
Но это означает, что все префиксы с region
или supplier
. Мне почти нужно полностью захватить запрос с помощью вилки?
Каков наилучший способ достижения этого?
Спасибо за любую помощь.
Редактировать.
@ St.Woland, проблема в том, что я хочу этот маршрут
/:region/:supplier
Для работы с этим URL
/midlands/ted-baker
Но этот путь эффективно переопределяет маршрутизатор по умолчанию
Привет, Сент-Воланд, проблема заключается не в добавлении маршрутов. Это связано с тем, как лучше всего справляться с возможностью иметь несколько динамических маршрутов. См. Редактирование вопроса. –
Все маршруты взяты в consuderation в порядке, противоположном тому, как вы их настроили. Таким образом, если ваш маршрут задан ПОСЛЕ по умолчанию, он будет согласован первым. Пожалуйста, укажите все маршруты и URL-адреса, которые будут соответствовать им, потому что неясно, чего вы хотите. Благодарю. –