2012-07-12 49 views
1

我們將ZF2用於包含兩個模塊(前端和後端)的網站項目。我們想生成URL兩個那些具有下列標準形式的模塊:Zend Framework中的通用模塊路由2

/module/controller/action

到目前爲止,我們嘗試這種解決方案,我們沒有能夠使它發揮作用

'router' => array(
    'routes' => array(
     'application' => array(
      'type' => 'Segment', 
      'options' => array(
       'route' => '/[:module[/:controller[/:action]]]', 
       'constraints' => array(
        'module'  => '[a-zA-Z][a-zA-Z0-9_-]*', 
        'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 
        'action'  => '[a-zA-Z][a-zA-Z0-9_-]*' 
       ), 
       'defaults' => array(
        'module'  => 'Front', 
        'controller' => 'Front\Controller\Index', 
        'action'  => 'index' 
       ) 
      ) 
     ), 
    ), 
), 

我們希望URL看起來像/modulename/controllername,而不需要爲每個模塊創建類似於ZF1的舊默認路由的特定路由。是否有可能做到這一點,或者有沒有特定於zf2的方法?

+0

嗨@ exfrom-theleft,你設法得到這個功能嗎?如果是,那麼如何?謝謝! – wormhit 2012-10-16 14:01:13

回答

2

在新ZF2 beta5的,還有一個新的偵聽器的Zend \的mvc \ ModuleRouteListener,所以你必須一個__ NAMESPACE __鍵添加到您的路線,這將預先準備的命名空間的控制器,和因此,您將擁有一條通用路線。

+1

謝謝你的回答。我們已經嘗試了這種解決方案,但只有在模塊路由是靜態的情況下才有效。在我們的例子中,我們希望在默認模塊(應用程序)中有一個動態路由我們的模塊(Front&Back)。 – EddardOmeka 2012-07-13 10:32:02