1

学習には ZF2 の Skeleton アプリケーションを使用しました。今、私はナビゲーションを学んでいます。そこに問題があります。

  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();
    ?>
    

ホスト名/ディスクにアクセスしているときに、ブレッドクラムに「アルバム」というテキストが表示されます。ホスト名/ディスク/追加にアクセスすると、同じように「アルバム」だけが表示されます。しかし、「アルバム/アルバムの追加」を取得したいと思います。達成するよう指導してください。

4

1 に答える 1

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',
                ),
            ),
        ),
    ),
  ),
);
于 2013-01-16T15:05:55.180 に答える