2013-01-07 56 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