IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Problème avec Zend_Navigation [ZF 1.10]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut Problème avec Zend_Navigation
    Bonjour, je suis débutant en Zend Framework et j'ai un soucis sur la réalisation des menus avec Zend_Navigation.

    En utilisant divers tutos j'ai facilement réussi à mettre en place un premier menu utilisant un fichier xml et le bootstrap.
    Maintenant je voudrais que mon application dispose de menu différent suivant que l'utilisateur soit administrateur ou pas. Mon application est divisée en 2 modules ("admin" et default").
    En cherchant sur plusieurs sites j'ai donc créé une aide de vue dans chaque modules permettant de générer ce menu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Zend_View_Helper_Menu extends Zend_View_Helper_Abstract
    {
      public function menu() {
        $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation_admin.xml','nav');    
        $container = new Zend_Navigation($config);
        return $container;
      }
    }
    Et ensuite je tente de l'afficher dans mon layout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="menu">
          <?php
          $container = $this->menu();
          echo $this->navigation()->menu($container);
          ?>
        </div>
    Lorsque je lance ma page j'ai une belle exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Uncaught exception 'Zend_Navigation_Exception' with message 'Bad method call: Unknown method Zend_Navigation::menu' in /var/www/portail-zf/library/Zend/Navigation/Container.php:359 Stack trace: #0 [internal function]: Zend_Navigation_Container->__call('menu', Array) #1 [internal function]: Zend_Navigation->menu(Object(Zend_Navigation)) #2 /var/www/portail-zf/library/Zend/View/Helper/Navigation/HelperAbstract.php(503): call_user_func_array(Array, Array) #3 /var/www/portail-zf/library/Zend/View/Helper/Navigation.php(132): Zend_View_Helper_Navigation_HelperAbstract->__call('menu', Array) #4 [internal function]: Zend_View_Helper_Navigation->__call('menu', Array) #5 /var/www/portail-zf/application/layouts/layout.phtml(16): Zend_View_Helper_Navigation->menu(Object(Zend_Navigation)) #6 /var/www/portail-zf/library/Zend/View.php(108): include('/var/www/portai...') #7 /var/www/portail-zf/library/Zend/View/Abstract.php(880): Zend_View->_run('/var/www/portai...') #8 /var/www/portail-zf/library/Zend/Layout.php(796): Zend_ in /var/www/portail-zf/library/Zend/Navigation/Container.php on line 359
    Voila si quelqu'un pourrait m'éclairer ^^ ... désolé si j'ai fais des conneries dans mon code je débute sur zend ^^.

    Merci

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="menu">
          <?php
          echo $this->navigation($this->menu())->menu();
          ?>
        </div>

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut
    Toujours la même erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Uncaught exception 'Zend_Navigation_Exception' with message 'Bad method call: Unknown method Zend_Navigation::menu' in /var/www/portail-zf/library/Zend/Navigation/Container.php:359 Stack trace: #0 [internal function]: Zend_Navigation_Container->__call('menu', Array) #1 [internal function]: Zend_Navigation->menu() #2 /var/www/portail-zf/library/Zend/View/Helper/Navigation/HelperAbstract.php(503): call_user_func_array(Array, Array) #3 /var/www/portail-zf/library/Zend/View/Helper/Navigation.php(132): Zend_View_Helper_Navigation_HelperAbstract->__call('menu', Array) #4 [internal function]: Zend_View_Helper_Navigation->__call('menu', Array) #5 /var/www/portail-zf/application/layouts/layout.phtml(16): Zend_View_Helper_Navigation->menu() #6 /var/www/portail-zf/library/Zend/View.php(108): include('/var/www/portai...') #7 /var/www/portail-zf/library/Zend/View/Abstract.php(880): Zend_View->_run('/var/www/portai...') #8 /var/www/portail-zf/library/Zend/Layout.php(796): Zend_View_Abstract->render('layout.phtml') #9 /var/ in /var/www/portail-zf/library/Zend/Navigation/Container.php on line 359

  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Arf!

    En fait je viens de voir le code source de Zend_View_Helper_Navigation et en fait il y a une methode __call qui appele le helper menu() correspondant à Zend_View_Helper_Navigation_Menu Mais comme tu a créé un helper du même nom je pense que ça vient de là

    Peux-tu renommer ton helper Zend_View_Helper_Menu par autre chose juste pour tester?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 21
    Par défaut
    Effectivement c'était bien ça le problème =) j'ai créé un nouveau helper et ça fonctionne. Merci beaucoup ^^ je peux continuer ma découverte du framework.
    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de lien avec Zend_Navigation
    Par erehcab dans le forum Autres composants
    Réponses: 0
    Dernier message: 09/10/2010, 09h40
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo