2012-10-16 4 views
1

내 탐색이 실행 중이며 모든 링크가 정상적으로 작동하고 있습니다. $this->navigation($nav)->menu()을 사용하여 탐색을 렌더링하면 정렬되지 않은 목록이 표시되고 모든 링크가 작동합니다.Zend Navigation breadcrumb가 활성 요소를 찾지 못했습니다

또한 활성 링크가 작동 중입니다. 활성 요소는 속성으로 class="active"입니다.

브로드 캐스트로 동일한 탐색을 렌더링하면 $this->navigation($nav)->breadcrumbs()은 나에게 아무 것도 렌더링하지 않습니다. 이것은 현재 내비게이션이 한 단계 깊숙한 곳이기 때문에 가능할 수도 있지만, 첫 번째 단계는 여전히 렌더링되어야합니다.

슈퍼 모던 die() -debugging을 사용하여 viewHelper의 findActive()이 활성 요소를 찾지 못해 빈 문자열을 반환하기 때문에 아무 것도 렌더링되지 않는다는 것을 알았습니다.

어떤 의견이 있나요? 내 오류가 어디에 있습니까? 어떤 통찰력이라도 대단히 감사하겠습니다.

'navigation' => array(
    'default' => array(
     'biete' => array(
      'label' => 'Biete', 
      'route' => 'biete', 
     ), 
     'suche' => array(
      'label' => 'Suche', 
      'route' => 'suche', 
     ), 
     'administration' => array(
      'label' => 'Administration', 
      'route' => 'admin' 
     ), 
     'dashboard' => array(
      'label' => 'Meine Artikel', 
      'route' => 'dashboard' 
     ), 
     'login' => array(
      'label' => 'Anmelden', 
      'route' => 'duituser/login' 
     ), 
     'logout' => array(
      'label' => 'Abmelden', 
      'route' => 'duituser/logout' 
     ) 
    ), 
), 
'service_manager' => array(
    'factories' => array(
     'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory', 
     'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory', 
    ), 
), 

그리고 사전에 다시는 내 layout.phtml

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

감사에 위치한 뷰 부품 : 여기 내 지금까지 코드입니다.

답변

2

나는 네비게이션 클래스/헬퍼와 함께 플레이를했습니다 - '놀이터'경로가 일치 할 때 빵 부스러기가 렌더링되는 것 같습니다 (아래 예 참조). 그러나 기본 경로에 'active' => true을 추가하면 경로 탐색 도우미에 의해 항상 렌더링됩니다.

'navigation' => array(
    'default' => array(
     'test' => array(
      'label' => 'Home', 
      'route' => 'test', 
      'active' => true, 
      'pages' => array(
       'playground' => array(
        'label' => 'Playground', 
        'route' => 'playground', 
       ), 
      ), 
     ), 
    ), 
), 
+0

감사합니다. 베자, 당신이 실제로 나를 올바른 방향으로 가리키고 있습니다. 문제는 단일 레벨 탐색이었습니다. 따라서 나는'setMinDepth (0)'을해야만했습니다 - 만약 당신이 그 방향으로 당신의 답을 편집 할 수 있다면, 그렇지 않으면 나 자신이 내일 답을 올리십시오;) – Sam

+0

setMinDepth (0)을 조사했지만 아무 효과가 없었습니다. 그것을 'active'=> true로 가정용 루트에서 사용하면 원하는 효과를 얻는 것처럼 보입니다. – DrBeza

+0

나는 active를 true로 설정할 필요가 없었습니다. 활성 부분 get은 아무 문제없이 routest와 일치합니다. 나에게 그것은 단지 최소 깊이였습니다 – Sam

1

DrBeza의 답변 외에 다음은 나를 도운 것입니다. 문제는 Breadcrumb-Navigation이 우리가 두 번째 레벨에 도달했을 때 렌더링된다는 것입니다. 하지만 다음과 같이 설정하면 분명히 설정을 변경할 수 있습니다.

$this->navigation('navigation')->breadcrumbs()->setMinDepth(0); 

나에게이 모든 것이 필요합니다. DrBeza는 그러나 어떤 경우에는 이것이 충분하지 않을 수도 있다고 지적했습니다. 내 경우

0

도움 만이이 :

$this->navigation('navigation')->breadcrumbs()->render('navigation'); 

이상한 단지 $ this- 경우> 네비게이션 ('탐색')가 필요하다는입니다 - 빵 부스러기이기 때문에, 전이라고합니다> 메뉴를() 렌더링되지 않습니다.

관련 문제