2013-01-07 46 views
1

我已經使用ZF2的Skeleton應用程序進行學習。現在,我正在學習導航。 我有一個問題。Zend Framework 2 - 導航概念

  1. 在service_manager中添加了導航類。

    'Navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory' 
    

    (模塊的配置文件:module.config.php)

  2. 具有nav_config.php以下代碼。 (CONFIG/nav_config.php)

    <?php 
    return array(
        'navigation' => array(
        'default' => array(
         'disc' => array(
          'label' => 'Album', 
          'route' => 'album', 
          'pages' => array(
           'index' => array(
            'label' => 'Listing', 
            //'route' => 'album/index', 
            'module' => 'album', 
            'controller' => 'album', 
            'action' => 'index', 
           ), 
           'add' => array(
            'label' => 'Add Album', 
            //'route' => 'album/add', 
            'module' => 'album', 
            'controller' => 'album', 
            'action' => 'add', 
           ), 
          ), 
         ), 
        ), 
    ), 
    ); 
    
  3. 在layout.php中,放置在此代碼。

    <?php 
    echo $this->navigation()->breadcrumbs('navigation')->setMinDepth(0)->setLinkLast(true)->render(); 
    ?> 
    

當訪問主機名/盤,我得到 「相冊」,在麪包屑文本。 當我訪問主機名/光盤/添加,再次我得到相同的,這是「專輯」單獨。 但我想獲得「專輯/添加專輯」。請指導實現。

+0

是什麼原因你註釋掉的路線參數和使用的模塊/控制器/動作? –

+0

感謝您的回覆。我只想檢查動態網址。所以我使用了模塊/控制器/動作。讓我知道你的建議。 – 2plus

+0

更改爲唯一路由名稱並在導航數組中使用路由參數。這應該工作。 –

回答

0

更新你的「光盤」節點包括控制器和行動,它應該工作:

<?php 
return array(
    'navigation' => array(
    'default' => array(
     'disc' => array(
      'label' => 'Album', 
      'route' => 'album', 
      'controller' => 'album', // add this 
      'action' => 'index',  // add this 
      'pages' => array(
       'index' => array(
        'label' => 'Listing', 
        //'route' => 'album/index', 
        'module' => 'album', 
        'controller' => 'album', 
        'action' => 'index', 
       ), 
       'add' => array(
        'label' => 'Add Album', 
        //'route' => 'album/add', 
        'module' => 'album', 
        'controller' => 'album', 
        'action' => 'add', 
       ), 
      ), 
     ), 
    ), 
), 
); 
+0

謝謝。但它掩蓋了整個導航的痕跡。 – 2plus