문제

내 응용 프로그램에서 메뉴 구성의 일부만 렌더링하려고합니다.나는이 작업을 수행하는 방법에 대해 아무것도 찾을 수 없습니다.

내 구성은 다음과 같습니다:

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

그래서 기본 및 새 하위 집합이 있습니다.내 메뉴의 하위 집합"새"만 렌더링해야합니다.어떻게 해야 하나요?

도움이 되었습니까?

해결책

일부 모듈에서.또는 당신이 당신의 탐색을 만드는 곳,당신의 주어진 구성이 저장되어 있다고 가정 $config 그리고 당신은 서비스 관리자에 액세스 할 수 있습니다 $serviceManager

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

뷰/레이아웃

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

추신:모든 모듈에서.당신은 다음과 같이 서비스 관리자를 얻을 수 있습니다:

public function onBootstrap(\Zend\EventManager\EventInterface $e)
{
    $application = $e->getApplication();
    $serviceManager = $application->getServiceManager();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top