обнаружение типа переменной в переменных Zend-маршрутизатора - PullRequest
0 голосов
/ 06 ноября 2011

, поэтому я использую zend_router для направления моей индексной страницы в контроллере к действию, отличному от действия index:

$route = new Zend_Controller_Router_Route(
                         '/controller/:page',
                          array(
                              'action' => 'not-index',
                              'controller' => 'controller',
                              'page' => 1,
                              ),
         );

И причина, по которой я добавляю: страницу в путь, заключается в том, что в этом индексе есть разбиение на страницы, и я хотел бы, чтобы paginator работал, даже если пользователь вводит в браузер только '/ controller', поэтому быть там (см .: http://www.joewebster.co.uk/articles/zend-framework/7-zend-pagination-and-zend-router)...

проблема в том, что ... теперь другие действия в контроллере также будут перенаправляться на эту страницу, а не на правильное действие

так что предположим, что я ввожу '/ controller / other-action' в браузер, он переходит к 'controller / not-index' с page = other-action вместо 'controller / other-action' из-за этого определения маршрутизации. ... есть ли способ ограничить: страницу в этом определении маршрутизатора только целыми числами, т.е. если я введу «/ controller / 2», то перейду к «controller / not-index» со страницей = 2, и если я введу «/ controller / other-action», то он фактически перейдет к «controller / other-action»

1 Ответ

1 голос
/ 06 ноября 2011

Я думаю, вы можете взглянуть на Regex_router: http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.regex

Это должно помочь вам в достижении вашей цели. Боюсь, что стандартный маршрутизатор недостаточно гибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...