Zend Framework Routing с дополнительным параметром страницы - PullRequest
2 голосов
/ 09 февраля 2012

У меня есть блог с маршрутизацией. В моем ini это выглядит так:

routes.quote.route = :id
routes.quote.defaults.module = default
routes.quote.defaults.controller = posts
routes.quote.defaults.action = single
routes.quote.reqs.id = \d+

Теперь я хочу иметь параметр страницы (для комментариев) дополнительно. Я получил его только путем создания маршрута с двумя секторами, подобного этому:

routes.quotePage.route = :id/page/:page
routes.quotePage.defaults.module = default
routes.quotePage.defaults.controller = posts
routes.quotePage.defaults.action = single
routes.quotePage.reqs.id = \d+
routes.quotePage.reqs.page = \d+

Я хочу объединить эти два в одно. Как я могу это сделать? параметр страницы должен быть только дополнительным.

Спасибо

Ответы [ 3 ]

0 голосов
/ 09 февраля 2012

Вы можете присвоить значение по умолчанию параметру страницы

routes.quotePage.route = :id/:page
routes.quotePage.defaults.module = default
routes.quotePage.defaults.controller = posts
routes.quotePage.defaults.action = single
routes.quotePage.defaults.page = 1
routes.quotePage.reqs.id = \d+
routes.quotePage.reqs.page = \d+

Это будет соответствовать http://domain.com/1 и http://domain.com/1/page/1 или http://domain.com/1/page/2

0 голосов
/ 04 апреля 2012

Изменение

routes.quote.route = :id

до

routes.quote.route = :id/*.

0 голосов
/ 09 февраля 2012

использовать Zend_Controller_Router_Route_Regex как это:

routes.quote.route.type = "Zend_Controller_Router_Route_Regex"
routes.quote.route = posts/(\d+)/(\d+)
routes.quote.defaults.module = default
routes.quote.defaults.controller = posts
routes.quote.defaults.action = single
routes.quote.map.1 = "id"
routes.quote.map.1 = "page"
...