Как я могу настроить простой собственный маршрут с помощью Zend Framework? - PullRequest
0 голосов
/ 13 апреля 2010

Я ищу, чтобы настроить собственный маршрут, который предоставляет неявные имена параметров для Zend_Application. По сути, у меня есть входящий URL, который выглядит следующим образом:

/StandardSystems/Dell/LatitudeE6500

Я бы хотел, чтобы это было отображено в StandardsystemsController, и я бы хотел, чтобы этому контроллеру передавались параметры "make" => "Dell" и "model" => "LatitudeE6500".

Как мне настроить такую ​​систему, используя Zend_Application и Zend_Controller_Router?

РЕДАКТИРОВАТЬ: Я не объяснил себе все, что ясно, я думаю - если нет марки и модели, я бы хотел перенаправить пользователя к другому действию на StandardsystemsController. в настоящее время, используя ответ Ballsacian1 с этим в application.ini:

resources.router.routes.StandardSystem.route = "/StandardSystem/:make/:model"
resources.router.routes.StandardSystem.defaults.controller = "StandardSystem"
resources.router.routes.StandardSystem.defaults.action = "system"
resources.router.routes.StandardSystem.defaults.make = ""
resources.router.routes.StandardSystem.defaults.model = ""
resources.router.routes.StandardSystemDefault.route = "/StandardSystem"
resources.router.routes.StandardSystemDefault.defaults.controller = "StandardSystem"
resources.router.routes.StandardSystemDefault.defaults.action = "index"

Ответы [ 2 ]

4 голосов
/ 13 апреля 2010

Сначала вы создадите новый Zend_Controller_Router_Route для создания вашего маршрута.

$stdsys_route = new Zend_Controller_Router_Route(
    '/StandardSystems/:make/:model',
    array(
        'controller' => 'StandardsystemsController',
        'action' => 'myaction'
    );
);

Затем необходимо добавить этот маршрут к маршрутизатору.

$front_controller = Zend_Controller_Front::getInstance();
$front_controller->getRouter()->addRoute('stdsys', $stdsys_route);

Теперь при отправке маршрут должен вступить в силу.

Ссылки:

3 голосов
/ 13 апреля 2010

Ресурсы:

resources.router.routes.StandardSystems.route = "/StandardSystems/:make/:model"
resources.router.routes.StandardSystems.defaults.controller = "standardsystems"
resources.router.routes.StandardSystems.defaults.action = "index"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...