2012-03-21 2 views
1

내가 메뉴 항목의 내 배열 작업을 zend_navigation를 설정 한 다음과 같이 내 메뉴로 전화를 걸 수 있습니다 호출 페이지의 메뉴 편집기는 필요에 따라 재정렬 될 수있는 또 다른 ul을 생성하기 위해이를 호출합니다. 내가 예상대로 클래스를 추가젠드 탐색 메뉴는

->setUlClass('sortable') 

를 사용하여 '정렬'메뉴에 클래스를 추가 할 때

내 문제

온다, 그러나 에 전화 모두 메뉴를 만들 수 있습니다. 다음과 같이 호출은 다음과 같습니다

navigation.phtml :

echo $this->navigation()->menu(); 

index.phtml

echo $this->navigation()->menu()->setUlClass('sortable'); 

그러나 그들은 모두 '정렬'클래스를 상속합니다.

아무도 나는이 새로운 호출이 렌더링 메뉴의 새로운 인스턴스를 만들 것이라고 생각했기 때문에 가능한 이유를 알고 있습니다 ..?

미리 감사드립니다.

답변

0

this chap's blog에 설명 된 것처럼 간단합니다.

할 일은 두 번째 메뉴를 정확하게 렌더링하는 것입니다. 렌더링하십시오. E.G. 디폴트의 ​​menu() Methods는 사용하지 말아주세요. 이 방법을 사용하면 Zend_Navigation 요소에 결과를 '뱉어 내'라고 말하고, 그것이 의미가있는 경우 결과를 자체의 속성으로 취급하지 않습니다.

위의 링크에서 중요한 부분은이 비트입니다 :보기에 사용할 수 있습니다

echo($this->navigation()->menu()->renderMenu($this->navigation()->getContainer(), array('ulClass' => 'submenu'))); 

: 인스턴스에에 재 작업 할 수

$options = array('ulClass' => 'submenu'); 
echo($this->navigation()->menu()->renderMenu($this->miscnavigation, $options)); 

.

0

봅니다 그런 그들을 반향 :

echo $this->navigation()->menu()->renderMenu(); 
echo $this->navigation()->menu()->renderMenu(null, array('ulClass' => 'sortable')); 
관련 문제