2012-09-08 105 views
3

如何在路由中工作多路控制器? 我的路線:路由器zend框架中的動態控制器1.11

$router->addRoute(
     'index', 
     new Zend_Controller_Router_Route('/:lang/:@action', 
      array(
       'lang' => 'en', 
       'module' => 'default', 
       'controller' => 'index', 
       'action' => 'index' 
      ) 
     ) 
    ); 

這與指數控制器發送工作,但不具有權威性控制器工作。 如何使用該路由和索引認證控制器?

我的菜單項:

$this->url(array('controller'=>'Auth','action'=>'index') 

該菜單項,無法正常工作。 我的完整功能_initRoutes()

protected function _initRoutes(){ 

    $frontController = Zend_Controller_Front::getInstance(); 
    $router = $frontController->getRouter(); 
    $router->removeDefaultRoutes(); 
    $router->addRoute(
      'fullRoute', 
      new Zend_Controller_Router_Route('/:lang/:module/:controller/:action', 
        array('lang' => ':lang') 
      ) 
    ); 
    $router->addRoute(
      'languageControllerAction', 
      new Zend_Controller_Router_Route('/:lang/:controller/:action', 
        array('lang' => ':lang') 
      ) 
    ); 

    $router->addRoute(
     'index', 
     new Zend_Controller_Router_Route('/:lang/:@action', 
      array(
       'lang' => 'en', 
       'module' => 'default', 
       'controller' => 'index', 
       'action' => 'index' 
      ) 
     ) 
    ); 

} 

我需要控制器權威性的行動路線。

+0

你想爲'IndexController'創建一條路由,爲'AuthController'創建第二條路由嗎? –

回答

0

路線#1

這將指向http://yoursite.com/authdefault模塊,AuthControllerindexAction

$router->addRoute(
     'auth', 
     new Zend_Controller_Router_Route(
      'auth', 
      array(
       'lang' => 'en', 
       'module' => 'default', 
       'controller' => 'auth', 
       'action' => 'index' 
      ) 
     ) 
); 

路線#2

這將指向http://yoursite.com/default模塊,AuthControllerindexAction

$router->addRoute(
     'index', 
     new Zend_Controller_Router_Route(
      '', 
      array(
       'lang' => 'en', 
       'module' => 'default', 
       'controller' => 'auth', 
       'action' => 'index' 
      ) 
     ) 
); 
+0

這個解決方案不工作:( – user1657394

+0

現在工作,但是。控制器索引的網站site.com/en/ /。如何隱藏控制器名稱在url? – user1657394

+0

嗨,請看看我更新的答案,並回應評論 –