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

Autres composants PHP Discussion :

File d'ariane avec Zend_Navigation [ZF 1.9]


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut File d'ariane avec Zend_Navigation
    Bonjour,

    J'utilise Zend_Navigation pour créer un fil d'ariane, seulement ça ne fonctionne pas correctement.

    Voilà comment j'ai procédé:
    Voici tout d'abord une partie de mon fichier xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <configdata>
        <nav>
    	 <home>
                <label>Accueil</label>
                 <module>default</module>
                <controller>index</controller>
                <action>index</action>
    	 <pages>
                <conncand>
                    <label>Connexion Candidat</label>
                    <uri>/?link=candidats</uri>
                </conncand>
                <connett>
                    <label>Connexion ETT</label>
                    <uri>/?link=recruteurs</uri>
                </connett>
                <mission>
                    <label>Mission</label>
                    <uri>/?link=call</uri>
                </mission>
                <tarifs>
                    <label>Tarifs</label>
                    <uri>/misc/tarifs</uri>
                </tarifs>
                <contact>
                    <label>Contact</label>
                    <uri>/?link=contact</uri>
                </contact>
    ....
    Voici ce que j'ai déclaré dans mon fichier bootstrap
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $config=new Zend_Config_Xml(APPLICATION_PATH . '/config/navigation.xml', 'nav');
    $Zend_Layout = Zend_Layout::getMvcInstance()->getView();
    $Zend_Layout->navigation(new Zend_Navigation($config));
    et voilà comment je crée mon fil d'ariane:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div class="arianneHolder module">
                    <div class="arianne">
     
                       <?php echo $this->navigation()->breadcrumbs()->setMinDepth(0)->setLinkLast(true)->setSeparator(" >> "); ?>
                    </div>
    </div>
    Le fil d'ariane de m'affiche que l'accueil, pas moyen d'aller plus loin dans l'arborescence quand je clique sur d'autres élément dans mon menu...est-ce que vous savez d'où ça peut venir?

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Personne ne voit quand je met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->navigation()->breadcrumbs()->setSeparator(" >> "); ?>
    Ca ne m'affiche rien absoluement rien.

    Pourriez-vous vérifier mon fichier XML? Est_ce que mes premières <uri> sont bonnes sachant que ce sont des pages qui découlent de la page d'accueil.

    Aussi si ça peut vous aider, voici le résultat "html" de ce que j'obtiens quand j'essaie de créer un menu via ZEND_Navigation (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php echo $this->navigation()->menu(); ?>
    ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     <div class="arianne">
                        <ul class="navigation">
     
        <li class="active">
            <a href="/monsite.com/trunk/Sources/">Accueil</a>
            <ul>
                <li>
                    <a href="/?link=candidats">Connexion Candidat</a>
                </li>
                <li>
                    <a href="/?link=recruteurs">Connexion ETT</a>
     
                </li>
                <li>
                    <a href="/?link=call">Mission</a>
                </li>
                <li>
                    <a href="/misc/tarifs">Tarifs</a>
                </li>
                <li>
     
                    <a href="/?link=contact">Contact</a>
                </li>
                <li>
                    <a href="/?link=about">A propos</a>
                </li>
                <li>
                    <a href="/#">Plan du site</a>
     
                </li>
                <li>
                    <a href="/#">Documentation</a>
                </li>
                <li>
                    <a href="/misc/CGU">CGV</a>
                </li>
                <li>
     
                    <a href="/misc/mentionslegales">Mentions légales</a>
                </li>
                <li>
                    <a href="/index/report">Signaler un bug</a>
                </li>
                <li>
                    <a href="/annonceurs">Les recruteurs</a>
     
                </li>
                <li>
                    <a href="/postes">Les emplois à pourvoir</a>
                </li>
                <li>
                    <a href="/monsite.com/trunk/Sources/candidats/register">Espace Candidat</a>
                    <ul>
                        <li>
     
                            <a href="/monsite.com/trunk/Sources/account/dashboard">Mon espace</a>
                        </li>
    Mes <uri> sont mal gérées, je ne devrai pas avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            <li>
                    <a href="/?link=candidats">Connexion Candidat</a>
                </li>
    Comment faire?

    Mais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <li>
                    <a href="/monsite.com/trunk/Sources/?link=candidats">Connexion Candidat</a>
                </li>
    Merci d'avance pour votre aide.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Y a rien a rajouter dans mes controllers?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut
    Je n'ai jamais utilisé les zend_navigation avec les formats xml.

    J'imagine qu'avec un arbre correctement construit il n'y a pas de raison que cela ne fonctionne pas.

    Avez vous un dépot svn pour regarder tout cela?

  5. #5
    Membre éprouvé Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Par défaut
    Salut Sheira,
    Je préfère te répondre sur le forum plutôt que sur Nanane.fr qui d'ailleurs n'est plus trop en activité.

    Je remarque que tu as des variables "?link=" dans tes uri, est-ce un projet basé sur ZF ou juste avec certains composants ?

    Vu que tu parles de bootstrap j'imagine que c'est du ZF... Alors il faudrait plutôt utiliser la réécriture de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uri>/controller/action/link/value</uri>
    tu seras sûr d'avoir des uri propres et homogènes (éviter les majuscules aussi, c'est plus joli).

    La gestion du layout et de la navigation m'a l'air extérieur aux contrôleurs dans ton projet donc non, rien à ajouter dans tes contrôleurs pour un affichage par défaut.

    Il serait plus facile de t'aider avec les sources complètes de ton fichier xml, de ton layout.phtml et de ton bootstrap.
    Car pour le moment je ne vois pas trop d'où ça vient...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Ah merci de me répondre, je commençais a désespérer.
    Non syber, je n'ai pas de svn.
    Par contre je peux vous fournir des sources mais dites moi comment alors?
    A travers le forum ou sur votre messagerie?

    Abesses, j'ai peur de tout casser si je remet des urls propres comme tu me le précise. Le site utilisait au départ uniquement des composants Zend mais est vite devenu un site "zend" si je puis dire.

  7. #7
    Membre éprouvé Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Par défaut
    C'est comme tu le sens, mais si tu veux que je t'envoie mon mail en MP, faudra vider ta messagerie !

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    lol ok envoie la moi stp.
    Voilà c bon...j'avais même pas vu que ma messagerie était pleine!!

  9. #9
    Membre éprouvé Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Par défaut
    Bon...
    Concernant la navigation, je crois que le problème se situe dans la gestion des pages actives avec l'utilisation de Zend_Navigation_Page_Uri... Si aucune page n'est active le breadcrumbs ne peut pas savoir ce qu'il doit afficher...
    Je n'est pas encore trouver ce qui cloche mais j'ai une autre solution, remplacer toutes tes uri par une gestion mvc de ta navigation et ça normalement ça marche !

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <mypage>
                  <label>Connexion Candidat</label>
                  <action>index</action>
                  <controller>index</controller>
                  <module>default</module>
                  <params>
                                <link>candidats</link>
                  </params>
    </mypage>
    Tu pourras toujours récupérer le paramètre "link" avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_request->getParam('link');
    donc ça ne devrait pas demander de modification coté contrôleur.

    Sinon, globalement tu as beaucoup de code dans tes vues, je te conseillerais d'externaliser tout ce qui n'est pas utile à l'affichage.
    Renseigne toi sur Zend_Application et sa classe de bootstrapping qui est vraiment très pratique. Ça te permettrait d'utiliser des plugins pour l'authentification, les acl, le layout, la navigation, ... Une fois que ton code est factorisé et centralisé, c'est beaucoup plus simple à maintenir !

    Bonne continuation !

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

Discussions similaires

  1. [ZF 1.8] Comment faire un Breadcrumbs avec Zend_Navigation ?
    Par guiyomh dans le forum Autres composants
    Réponses: 2
    Dernier message: 03/08/2009, 13h20
  2. [PHP 5.0] Boucle récursive pour effectuer un fil d'ariane avec requête
    Par eltyty dans le forum Langage
    Réponses: 9
    Dernier message: 10/07/2009, 17h45
  3. Utilisation de file ou file_get_contents avec des URL
    Par soulhouf dans le forum Langage
    Réponses: 2
    Dernier message: 29/08/2008, 17h27
  4. pbm de montage File system RAID avec livecd
    Par CodeurNé dans le forum Administration système
    Réponses: 3
    Dernier message: 19/06/2008, 19h42
  5. Problème de 'files of type" avec JFileChooser
    Par lili2704 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 26/06/2007, 11h57

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