2016-08-12 63 views
0

我有此導航配置;如何防止ZF2導航匹配頁面?

// Navigation 
'navigation' => array(
    'default' => array(
     array(
      'label' => '<i class="fa fa-user"></i> Users', 
      'route' => 'cobalt/default', 
      'controller' => 'user', 
      'pages' => array(
       array(
        'label' => 'New User', 
        'controller' => 'user', 
        'action' => 'add', 
       ), 
       array(
        'label' => 'Edit', 
        'controller' => 'user', 
        'action' => 'edit', 
       ), 
       array(
        'label' => 'Delete', 
        'controller' => 'user', 
        'action' => 'delete', 
       ), 
      ), 
     ), 
     array(
      'label' => '<i class="fa fa-cogs"></i> Admin', 
      'route' => 'admin', 
      'pages' => array(
       // Support Technicians. 
       array(
        'label' => 'Support Technicians', 
        'controller' => 'user', 
        'action' => 'technicians', 
       ), 
      ), 
     ), 
    ), 
), 

當我導航到用戶/技術人員,這正確地匹配支持技術人員頁面導航渲染我的麪包屑像;

Admin > Support Techicians 

但是,由於這條線路的用戶控制器相匹配,無論是管理員和用戶的網頁在我的身邊導航設置爲激活。

有沒有辦法阻止用戶頁面處於活動狀態?

+0

試過$ this-> navigation('navigation') - > findOneByController('user') - > setActive(false);在我看來的技術人員腳本中,但用戶頁面仍然呈現爲活動狀態 – srayner

回答

0

想通了。

我需要將用戶頁面上的操作設置爲'索引'。現在,只有當動作是索引時,或者子頁面處於活動狀態時,纔會將其匹配爲活動狀態。

array(
     'label' => '<i class="fa fa-user"></i> Users', 
     'route' => 'cobalt/default', 
     'controller' => 'user', 
     'action' => 'index' // <-- fix 
     'pages' => array(