0

ZF2 アプリケーションでメニュー構成の一部のみをレンダリングしようとしています。これを行う方法については何も見つかりません。

私の構成は次のとおりです。

array(
    'default' => array(
        'dashbord' => array(
            'label' => 'Dashbord',
            'route' => 'nav',
        ),
        'settings' => array(
            'label' => 'Settings',
            'route' => 'nav',
            'pages' => array(
            'Api Settings' => array(
                'label'=>'NAV_API_SETTINGS',
                'route'=>'nav'
             ),
        ),
    ),
    'NEW' =>array(
        'dashboard' => array(
            'label' => 'dashboard',
            'route' => 'nav',
        )
    )
);

だから私はデフォルトとNEWのサブセットを持っています。メニューのサブセット「NEW」のみをレンダリングする必要があります。どうすればいいですか?

4

1 に答える 1

2

$config一部の Module.php またはナビゲーションを作成する場所で、指定された構成が保存されていて、ServiceManager にアクセスできると仮定します$serviceManager

$navigation = new \Zend\Navigation\Navigation($config['NEW']);
$serviceManager->setService('new_navigation', $navigation);

ビュー/レイアウトで

<?php echo $this->navigation()->menu('new_navigation') ?>

PS: 任意の Module.php で、次のように serviceManager を取得できます。

public function onBootstrap(\Zend\EventManager\EventInterface $e)
{
    $application = $e->getApplication();
    $serviceManager = $application->getServiceManager();
}
于 2012-10-02T18:04:43.910 に答える