Zend маршрутизация, выбрасывает ресурс не найден - PullRequest
1 голос
/ 18 марта 2010

У меня есть URL: http://dev.local/foodies/view?id=bluedaniel

и я попал в мой бутстрап:

protected function _initRoute() {
        $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'production');
        $router = new Zend_Controller_Router_Rewrite();
        $router->addConfig($config, 'resources');
    }

и я также попал в мои маршруты.ini:

[production]
resources.router.routes.foodies_view.route = ":foodies/:id"
resources.router.routes.foodies_view.defaults.module = "foodies"
resources.router.routes.foodies_view.defaults.controller = "view"
resources.router.routes.foodies_view.defaults.action = "index"

так http://dev.local/foodies/bluedaniel должно работать правильно?

Я получаю Ресурс 'foodies: bluedaniel', однако ошибка не найдена при этой установке

--------------- ОБНОВЛЕНИЕ ----------------

Вместо вышеупомянутого я добавил следующее в файл application.ini:

resources.router.routes.myroute.route = "foodies/:id"
resources.router.routes.myroute.defaults.module = "foodies"
resources.router.routes.myroute.defaults.controller = "view"
resources.router.routes.myroute.defaults.action = "index"
resources.router.routes.myroute.defaults.id = "\w+"

Этот метод теперь работает, хотя я бы все же предпочел маршруты в их отдельном INI-файле, если смогу помочь.

1 Ответ

1 голос
/ 18 марта 2010

Если кому-то интересно, я решил проблему, теперь в моем загрузчике:

protected function _initRoutes() {
    $router = Zend_Controller_Front::getInstance()->getRouter();
    $router->addRoute('userprofile', new Zend_Controller_Router_Route('user/:id/', array('module' => 'foodies', 'controller' => 'view', 'action' => 'index', 'id'=>'\w+')));
}

Проблема заключалась в том, что в моем navigation.xml мне нужно было добавить <route>default</route> к каждому узлу. Временами документация Zend может быть очень и очень плохой.

Мне также нужно было объявить переменную по умолчанию для идентификатора, иначе он не распознал бы, что она передана.

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