2010-04-02 1 views
4

내 이전 question에 이어 계속해서 Zend_Navigation에 xml 파일을로드하는 데 문제가 있습니다. 그러나 나는 단지 그것을 얻을 수없는 것,Zend_Navigation로드에 실패했습니다

<b>Fatal error</b>: Uncaught exception 'Zend_Navigation_Exception' with message 'Invalid argument: Unable to determine class to instantiate' in C:\www\mysite\development\website\library\Zend\Navigation\Page.php:223 

내 navigation.xml 파일을 만들려고했다가 Zend Documentation의 예제와 유사 :

이제 다음과 같은 오류 메시지가 무엇입니까 일하다. 내 XML 파일은 다음과 같다 : 다음과 같이

<?xml version="1.0" encoding="UTF-8"?> 
<configdata> 
<navigation> 

    <default> 
     <label>Home</label> 
     <controller>index</controller> 
     <action>index</action> 
     <module>default</module> 

     <pages> 
      <tour> 
       <label>Tour</label> 
       <controller>tour</controller> 
       <action>index</action> 
       <module>default</module> 
      </tour> 

      <blog> 
       <label></label> 
       <uri>http://blog.mysite.com</uri>     
      </blog> 

      <support> 
       <label>Support</label> 
       <controller>support</controller> 
       <action>index</action> 
       <module>default</module> 
      </support> 
     </pages> 
    </default> 

    <users> 
     <label>Home</label> 
     <controller>index</controller> 
     <action>index</action> 
     <module>users</module> 
     <role>guser</role> 
     <resource>owner</resource> 

     <pages> 

      <jobmanger> 
       <label>Job Manager</label> 
       <controller>jobmanager</controller> 
       <action>index</action> 
       <module>users</module> 
       <role>guser</role> 
       <resource>owner</resource> 
      </jobmanger> 

      <myaccount> 
       <label>My Account</label> 
       <controller>profile</controller> 
       <action>index</action> 
       <role>guser</role> 
       <resource>owner</resource> 
       <module>users</module> 
       <pages> 

        <detail> 
         <label>Account Details</label> 
         <controller>profile</controller> 
         <action>detail</action> 
         <module>users</module> 
         <role>guser</role> 
         <resource>owner</resource> 

         <pages> 
          <history> 
           <label>Account History</label> 
           <controller>profile</controller> 
           <action>history</action> 
           <module>users</module> 
           <role>guser</role> 
           <resource>owner</resource> 
          </history> 

          <password> 
           <label>Change Password</label> 
           <controller>profile</controller> 
           <action>changepwd</action> 
           <module>users</module> 
           <role>employer</role> 
           <resource>employers</resource> 
          </password> 
         </pages> 
        </detail> 

... 
</navigation> 
</configdata> 

내가 부트 스트랩으로이 XML을로드 오전 :

$configNav = new Zend_Config_Xml('../application/config/navigation.xml', 'navigation'); 
$navigation = new Zend_Navigation($configNav); 
$navView->navigation($navigation); 

지금 나는 완전히이와 스틱의 잘못 끝을 가지고 고백, 아이디어가 급속도로 떨어지면서 긴 한 주를 보냈습니다.

감사합니다,

답변

3

Zend_Navigation 중 하나 컨트롤러, 액션 및 모듈 키의 존재를 확인하여 MVC 페이지 또는 열린 우리당 페이지를 사용할지 여부를 결정하기 위해 나타납니다

부여; 또는 uri 키. 보고하는 오류는 이러한 조건을 모두 충족시키지 않으면 생성됩니다. XML 문서의 모든 예제가 멋지게 보이므로 나중에 XML 파일의 일부 지점에서 페이지 중 하나의 필수 키 중 하나가 누락되었다고 추측 할 수 있습니다. 예 : 액션과 컨트롤러는 있지만 모듈은 없습니다.

문제를 일으키는 하나 발견 할 수없는 경우, 내가 삽입하여 Zend_Navigation에 디버그 줄을 추가 일시적으로 제안 : 젠드/네비게이션/Page.php 라인 (222)에

var_dump($options);exit; 

. 이렇게하면 오류를 일으키는 요소에 대한 키가 인쇄되어 XML 문서에서 어느 것이 맞는지 확인할 수 있습니다. 일단 고정 시키면이 선을 다시 제거하십시오!

+0

좋아,하지만 이제는 또 다른 문제가 발생했습니다. 실제로 부트 스트랩의보기로 이동하는 중입니다. 곧 다른 질문이 나옵니다. –

1

실수로 페이지 중 하나에 2 개의 항목을 추가 한 경우에도 최근에이 오류가 발생했습니다.