Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/09/2011, 17h50   #1
Membre régulier
 
Inscription : août 2008
Messages : 402
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 402
Points : 78
Points : 78
Par défaut routage problème de lien

Bonjour, j'ai un petit souci de compréhension de routage ,

Voici un menu qui fait partie du layout.phtml
Code :
1
2
3
4
5
 
            <ul>
            <li><a href='<?=$this->url(array('controller'=> 'accueil', 'action'=> 'index'));?>'>Accueil</a> </li>
            <li><a href='<?=$this->url(array('controller'=> 'carnetadresse', 'action'=> 'index'));?>'>Carnet</a> </li>
            </ul>
voici mon boostrap , j'appelle fichier routeaccueil.ini
Code :
1
2
3
4
5
6
7
8
9
 
    protected function _initRouter() {
        $front = $this->bootstrap('FrontController')->getResource('FrontController');
        $router = $front->getRouter();
        $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routeaccueil.ini', 'production');
        $routing = new Zend_Controller_Router_Rewrite();
        $routing->addConfig($config, 'routes');
        $front->setRouter($routing);
    }
voici le fichier routeaccueil.ini, qui servira de router la partie accueil
Code :
1
2
3
4
5
6
7
8
9
10
 
[production]
;Routage accueil
routes.accueil.route = "accueil";adresse controller modifer index par accueil
routes.accueil.defaults.controller = "index"
routes.accueil.defaults.action = "index"
;Route pour carnet adresse
routes.carnetadresse.route = "carnet ";adresse controller carnet adresse  index par carnet
routes.carnetadresse.defaults.controller = "carnetadresse"
routes.carnetadresse.defaults.action = "index"
une fois que j'ai taper tout cela , je test

je clique sur sur ce lien
Code :
1
2
3
 
            <li><a href='<?=$this->url(array('controller'=> 'carnetadresse', 'action'=> 'index'));?>'>Carnet</a> </li>
            </ul>
ici pas de souci j'ai bien mon bon controlleur

je tape sur
Code :
1
2
 
            <li><a href='<?=$this->url(array('controller'=> 'accueil', 'action'=> 'index'));?>'>Accueil</a> </li>
ici je reviens sur l'accuei, ca fonctionne

par conttre je redemande en cliquant sur controlleur carnetadresse, et là

je reste dans l'accueil , impossible d'aller sur carnetadresse,
je redemarre firefox même chose, le lien fonctionne qu'une seul fois,

ou j'ai mal fait les choses

merci d'avance pour la réponse
keokaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 18h12   #2
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Essaye :
Code :
1
2
3
4
5
 
<ul>
            <li><a href='<?=$this->url(array('controller'=> 'accueil', 'action'=> 'index'), null, true);?>'>Accueil</a> </li>
            <li><a href='<?=$this->url(array('controller'=> 'carnetadresse', 'action'=> 'index'), null, true);?>'>Carnet</a> </li>
            </ul>
L'helper url peut prendre 3 paramètre en entré dont le troisième correspond à un reset, car sinon tu construit par rapport à où tu te trouve
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 14h51   #3
Membre régulier
 
Inscription : août 2008
Messages : 402
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 402
Points : 78
Points : 78
merci de ta réponse

j'ai ajouter ta solution , mais toujour pareil

j'ai finalement adopter cette solution
Code :
1
2
3
 
            <li><a href="accueil">Accueil</a> </li>
            <li><a href="carnetadresse">Carnet--</a> </li>

le layout.phtml, je pense que il ne change jamais d'emplacement, donc en écirvant cela c'est sur que ça fonctionne
keokaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 15h02   #4
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Normalement tu n'aurais plus du avoir de soucis, et le jour ou ton application changera tu devras modifier
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 15h16   #5
Membre régulier
 
Inscription : août 2008
Messages : 402
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 402
Points : 78
Points : 78
bon j'ai essayer de persévérer j'ai resté avec ceci ça fonctionne

Code :
1
2
 
 <li><a href='<?=$this->url(array('controller'=> 'index', 'action'=> 'index'), null, true);?>'>Accueil</a> </li>
j'ai en faite mis le nom du vrai nom du controlleur index au lieux de "accueil" celui du routage

c'est peu être un défaut de rouage ?

(si je vais l'url "accueil", le defaut persiste)
keokaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 15h31   #6
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
La je comprends plus tu dis qu'avec ce code ça fonctionne alors que c'est ce que j'ai donné et tu disais que ça fonctionné pas
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 20h23   #7
Membre régulier
 
Inscription : août 2008
Messages : 402
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 402
Points : 78
Points : 78
moi aussi je n'arrive pas à comprendre.
Je laisse ça de coté, je verrais cela plus tard

merci de tes conseils
keokaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h05.


 
 
 
 
Partenaires

Hébergement Web