2012-12-24 2 views
0

현재 XML 파일에서 메뉴를 만들 때 Zend_Navigation을 사용하고 있습니다. 메뉴가 올바르게 렌더링되기에 적합합니다. 내 문제는 탐색 컨테이너 내의 특정 위치에 페이지를 추가해야한다는 것입니다. 지금까지 내가 가지고 :zend 탐색 컨테이너에 페이지를 삽입하는 방법

$this->_navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH . 
      '/configs/navigation.xml', 'nav'); 

     $this->_navContainer = new Zend_Navigation($this->_navContainerConfig); 

     $this->_navContainer->findById('defaultindex')->addPage(array(
      'label'   => 'Open Prints', 
      'module'  => 'default', 
      'controller' => 'artwork', 
      'action'  => 'list', 
      'params'  => array(
       'medtyp'  => 2), 
      'resource'  => 'default:artwork', 
      'privilege'  => 'list', 
      'route'   => 'default' 
     )); 

이 그냥 페이지 ID 'defaultindex'에 서브 페이지를 추가, 나는 'defaultindex'페이지 이후에 추가 할 페이지가 필요합니다.

누구든지 이것을 수행하는 방법을 알고 있습니까? 사전 및 모두에게 메리 크리스마스에

많은 감사,

게리

답변

0
당신은이 컨테이너에 이미 모든 페이지 후 페이지를 추가합니다
$this->_navContainer->addPage(your_array); 

Zend_Navigation_Container

에서 직접 방식의 addPage을 사용할 수 있습니다

. 맞춤 주문이 필요한 경우 Zend_Navigation_Container를 확장하고 컨테이너의 페이지 $ _index 속성을 다시 작성하여 원하는 순서대로 정렬해야합니다.

+0

답변 해 주셔서 감사합니다. 내가 결국 채택한 해결책은 모든 페이지를 XML 파일에 저장하고 나중에 필요하지 않은 페이지를 제거하는 것이 었습니다. $ page = $ this -> _ navContainer-> findOneBy ('id', $ mediumType [ 'medium_type_id']); $ this -> _ navContainer-> removePage ($ page); – Garry