Zend_Navigation yüklemek için başarısız

2 Cevap php

Benim daha önceki itibaren aşağıdaki question, ben hala Zend_Navigation içine xml dosyası yükleme ile ilgili sorunlar yaşıyorum.

Ben şimdi şu hata mesajı alıyorum:

<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

Benim navigation.xml dosya Zend Documentation, ancak ben sadece çalışmak için görünmüyor olabilir üzerinde örneğe benzer görünmesi için denedim. Benim XML dosyası bu gibi görünüyor:

<?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>

Ben aşağıdaki gibi bootstrap içine bu xml yükleme ediyorum:

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

Şimdi ben tamamen bu ile sopa yanlış sonu var itiraf, ama hızla fikirlerin bitmesi, ve uzun bir hafta oldu.

Teşekkürler,

Hibe

2 Cevap

Zend_Navigation kontrolör, eylem ve modül tuşları ya varlığını kontrol ederek bir Mvc sayfasını veya Uri sayfasını kullanmak için olup olmadığını belirlemek için görünür; veya bir uri anahtar. Bu koşulların hiçbiri yerine getirilmesi halinde bildirdiğiniz hata oluşturulur. XML belgesinde tüm örneklerde ince bakmak, bu yüzden ben tahmin ediyorum ki bir noktada sonra sizin sayfalarından biri için gerekli olan anahtarlardan birini eksik XML dosyasında. Örneğin Eğer bir eylem ve denetleyici ama hiçbir modülü var.

Eğer soruna neden olan tek nokta mümkün değilse, ben geçici ekleyerek Zend_Navigation bir hata ayıklama satır ekleyerek öneririm:

var_dump($options);exit;

Zend / Navigasyon / page.php hattı 222 içine. Bu öyle XML doc hangi bir işe yardımcı olmalıdır, hangi hataya neden olduğunu öğe için anahtarları basacaktır. Eğer sabit bir kez daha bu satırı kaldırın!

Ben de yanlışlıkla sayfalarından biri için 2 girdileri eklendi varken son zamanlarda bu hata oldu.