2010-04-02 3 views
4

После моего предыдущего question у меня все еще возникают проблемы с загрузкой xml-файла в Zend_Navigation.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 страницу, проверяя наличие либо контроллер, действия и модули ключей; или ключ uri. Сообщение об ошибке генерируется, если ни одно из этих условий не выполняется. Все примеры в вашем XML-документе выглядят отлично, поэтому я бы предположил, что в какой-то момент в файле XML вам не хватает одного из необходимых ключей для одной из ваших страниц. Например. у вас есть действие и контроллер, но нет модуля.

Если вы не в состоянии определить, какой из них вызывает проблему, я бы предложил временно добавить строку отладки в Zend_Navigation вставив:

var_dump($options);exit; 

в строке 222 Zend/Navigation/page.php , Это будет печатать ключи для элемента, вызывающего ошибку, что должно помочь вам определить, какой из них в вашем документе XML. Удалите эту строку снова, как только вы ее исправили!

+0

приветствия загружены нормально, но теперь есть еще одна проблема, и на самом деле он получает навигацию в виде в бутстрапе, а затем еще один вопрос. –

1

У меня также была эта ошибка недавно, когда я случайно добавил 2 записи для одной из страниц.

Смежные вопросы