2010-03-18 17 views
1

Ive得到了一个网址:Zend的路由,抛出资源没有发现

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

和 香港专业教育学院还得到了我routes.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/view?id=bluedaniel

和香港专业教育学院在我的引导了

so http://dev.local/foodies/bluedaniel应该正常工作吗?

我得到一个资源 '美食家:bluedaniel' 未找到错误然而与此设置

--------------- UPDATE --------- -------

代替上述的添加以下到的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文件的路径如果我能帮助它。

+0

其实用这个更新的方法,现在链接在zend_navigation显示为/ foodies。非常奇怪 – bluedaniel 2010-03-18 11:29:32

回答

1

如果有人有兴趣,我在我的引导解决了这个问题,现在:

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文档有时候确实非常糟糕。

我还需要为id声明一个默认变量,否则它不会识别它被传递。

+0

然后在视图帮助$ this-> url(array('module'=>'foodies','controller'=>'view'),'userprofile');以所需格式创建网址。 – bluedaniel 2010-03-19 11:01:45