2016-01-25 121 views
0

我正在開發一個ZF2項目,並使用ZfcUser來管理網站用戶。 我只想知道是否有可能有一條通往zfcuser路線的小孩路線? 類似的東西,在我的模塊的配置:Zfcuser路線有一條子路線

return [ 
     'router' => 
     [ 
      'routes' => 
      [ 
       'admin' => 
       [ 
        'type' => 'Segment', 
        'options' => 
        [ 
         'route' => '/admin', 
         'defaults' => 
         [ 
          '__NAMESPACE__' => 'admin', 
          'controller' => 'admin.index', 
          'action'  => 'index', 
         ], 
        ], 
        'may_terminate' => true, 
        'child_routes' => 
        [ 
         'zfcuser' => 
         [ 
          'type' => 'Literal', 
          'options' => 
          [ 
           'route' => '/account', 
          ] 
         ], 
        ], 
       ], 

      ], 
     ], 
    ]; 
+0

你想要做什麼,指向/ zfcuser提供的東西/管理/帳戶? – Saeven

+0

我在我的項目中實現了Zfcuser。 我現在想重寫zfcuser的路線,以正確整合我的項目。 我希望zfcuser路由是我管理路由的子路由 – user2711783

回答

0

這是我試過最近克服,不使用ZfcUser問題,但同時開發自己的模塊。有幾個解決方案,但最合適的將取決於您正在開發的應用程序的類型。

最簡單的解決方案是覆蓋zfcuser路徑路徑並以admin爲前綴。

return [ 
    'router' => [ 
     'routes' => [ 
      'zfcuser' => [ 
       'options' => [ 
        'route' => '/admin/user', 
       ], 
      ], 
     ], 
    ], 
]; 

如果你和我一樣,希望通過單一路徑下包含了所有你admin路線,然後你最好不要完全刪除zfcuser路線和實現自己可能利用ZfcUser控制器。

namespace Application; 

use Zend\ModuleManager\ModuleEvent; 
use Zend\ModuleManager\ModuleManager; 

class Module 
{ 
    public function init(ModuleManager $moduleManager) 
    { 
     $events = $moduleManager->getEventManager(); 
     $events->attach(ModuleEvent::EVENT_MERGE_CONFIG, array($this, 'onMergeConfig')); 
    } 

    public function onMergeConfig(ModuleEvent $event) 
    { 
     $configListener = $event->getConfigListener(); 
     $configuration = $configListener->getMergedConfig(false); 

     if (isset($configuration['router']['routes']['zfcuser'])) 
     { 
      unset($configuration['router']['routes']['zfcuser']); 
     } 

     $configListener->setMergedConfig($configuration); 
    } 
} 
+0

好的,謝謝你的加入。 我會在今晚或明天嘗試。 反饋很快;-) – user2711783

+0

不用擔心,取決於你使用的是什麼方法,只要記住覆蓋任何引用舊路線E.g. 'zfcuser/logout'。 – adamdyson