Zendframework Routing Issue

Я настраивал свои маршруты в моем файле application.ini, который работает для всех тех, которые я установил. Проблема в том, что в этом контроллере есть несколько действий, и я пытаюсь использовать маршруты в других действиях.

Например, я создал следующее в моем application.ini для подкачки и сортировки столбцов

resources.router.routes.search.route = "search/:page/:col/:sort/:limit/"
resources.router.routes.search.defaults.controller = search
resources.router.routes.search.defaults.page = 1
resources.router.routes.search.defaults.col = time
resources.router.routes.search.defaults.sort = default
resources.router.routes.search.defaults.limit = 50
resources.router.routes.search.reqs.page = \d+
resources.router.routes.search.reqs.col = \w+
resources.router.routes.search.reqs.sort = \w+
resources.router.routes.search.reqs.limit = \d+

Вышеуказанное работает, когда я нахожусь на действии по умолчанию этой страницы, как

www.mywebsite.com/search/2/

Поднимет вторую страницу результатов. Но если я попробую то же самое на другом действии,

www.mywebsite.com/search/action/2

Это просто показывает пустую страницу. Я попытался создать свои собственные настройки в INI, и это не сработало. Я сталкивался с этой проблемой раньше, но обычно просто сдавался и разделял вещи на разные контроллеры, но я бы предпочел разные действия.

Любая помощь приветствуется.

Matt

2 ответа

search/:page/:col/:sort/:limit/ не совпадает www.mywebsite.com/search/action/2, Ваш маршрут ищет search/ с последующей цифрой (\d) который представляет номер страницы; тем не менее, вы запрашиваете search/ сопровождается строкой action, Я бы предложил добавить еще один параметр в ваш маршрут: search/:action/:page/:col/:sort/:limitпо умолчанию action в index,

Запрос на первую страницу действия по умолчанию остается прежним (search). Запрос страницы 2 маршрута по умолчанию теперь будет search/index/2/, но теперь вы можете указать другое действие (search/action/2).

Оказывается, я полностью забыл установить переменную для поискового запроса. На новой странице он не поддерживал исходный поисковый термин, и мой код делал то, что предполагалось, и не отображал какой-либо вывод.

Для тех, кто считает, что столкнулся с подобными проблемами, они могут найти эту ссылку очень полезной.

текст ссылки

Другие вопросы по тегам