Zend Framework 2 - 导航概念

时间:2013-01-07 17:01:43

标签: php zend-framework2

我使用ZF2的Skeleton应用程序进行学习。现在,我正在学习导航。 我有一个问题。

  1. 在service_manager中添加了导航类。

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

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

  2. 在nav_config.php中包含以下代码。     (配置/ 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();
    ?>
    
  4. 访问主机名/光盘时,我在面包屑中收到“相册”文字。 当我访问主机名/光盘/添加时,我再次获得相同的内容,即单独使用“相册”。 但我想得到“专辑/添加专辑”。请指导实现。

1 个答案:

答案 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',
                ),
            ),
        ),
    ),
  ),
);