Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-10-2009 00:14:17

Devsigning
Membre
Lieu: Rennes
Date d'inscription: 02-05-2009
Messages: 20
Site web

Routes et Zend_Navigation 1.9

Bonjour à tous,

J'ai implémenté Zend_Navigation pour mon menu principal eu lieu et place d'une simple liste ul/li statique. Sur 6 items, je route 2 d'entre elles (les autres pointants sur un couple controleur/index).

Problème :
Quand j'ouvre la page pour la 1ère fois, toutes les urls des ancres sont OK. Je clique sur un lien, je reviens à l'accueil, OK. Par contre, je clique sur un lien routé, et quand la page s'ouvre, tous les liens non-routés sont remplacés par le lien de la page ouverte. Bare with me ?! ^^

Contexte :
J'ai supprimé les routes par défaut et redéfini une route générale du style module.domain.tld/controller/action/params. Tout fonctionne bien.

Question :
D'où vient cette confusion des urls ? Un problème de "non-routage" des liens non routés ?

Hors ligne

 

#2 14-10-2009 09:20:34

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Routes et Zend_Navigation 1.9

Je pense que tu définis mal tes routes. Ce problème ressemble simplement à l'absence de route (et c'est l'url courante qui est utilisé - ou une ancre si t'es sur / ).

Hors ligne

 

#3 14-10-2009 09:33:49

Devsigning
Membre
Lieu: Rennes
Date d'inscription: 02-05-2009
Messages: 20
Site web

Re: Routes et Zend_Navigation 1.9

Je définis mes routes dans un plugin (à la séquence routeStartup).

Pour le général :

$hostRoute = new Zend_Controller_Router_Route_Hostname(
            ':module.devsigning.local', array('module' => 'www')
        );
       
        $pathRoute = new Zend_Controller_Router_Route(
            ':controller/:action/:id',
            array('controller' => 'index', 'action' => 'index', 'id' => '1')
        );

Et pour les parties routées :

$aboutRoute = new Zend_Controller_Router_Route(
            '/a-propos',
            array('controller' => 'index', 'action' => 'about')
        );
       
        $contactRoute = new Zend_Controller_Router_Route(
            '/contactez-moi',
            array('controller' => 'index', 'action' => 'contact')
        );

Et puis je les ajoute au routeur :

$router->addRoute('default', $hostRoute->chain($pathRoute));
$router->addRoute('a-propos', $hostRoute->chain($aboutRoute));       
$router->addRoute('contactez-moi', $hostRoute->chain($contactRoute));

Ca reviendrait à dire que je devrais définir des routes pour tous mes liens à partir du moment où j'en définis au moins une ?

Dernière modification par Devsigning (14-10-2009 09:34:30)

Hors ligne

 

#4 17-10-2009 02:42:26

Devsigning
Membre
Lieu: Rennes
Date d'inscription: 02-05-2009
Messages: 20
Site web

Re: Routes et Zend_Navigation 1.9

Up... up... smile

Hors ligne

 

#5 20-10-2009 16:37:08

Devsigning
Membre
Lieu: Rennes
Date d'inscription: 02-05-2009
Messages: 20
Site web

Re: Routes et Zend_Navigation 1.9

Personne pour me dire comment mon système de routage est mal défini... ? sad

Hors ligne

 

#6 30-10-2009 12:49:08

Devsigning
Membre
Lieu: Rennes
Date d'inscription: 02-05-2009
Messages: 20
Site web

Re: Routes et Zend_Navigation 1.9

up... je rame... sad

Hors ligne

 

#7 16-11-2009 19:15:11

Eureka
Membre
Date d'inscription: 18-07-2009
Messages: 81

Re: Routes et Zend_Navigation 1.9

Salut,

Tout comme l'aide de vue URL, Zend Navigation (qui utilise l'aide de vue au passage, tout s'explique !) utilise la route courante pour écrire les URLs si aucune route n'est définie.
J'entends par là que définir la route "null" ou ne pas définir de route dans l'aide de vue URL ne conduira pas à ce que la route "par défaut" soit utilisée.
Dès lors, si tu visualises une page ayant une route différente de la route par défaut, toutes les URL générées sans route tenteront d'utiliser la courante.

Solution de base ? Définir des routes pour tous les liens s'affichant sur une page dont la route n'est pas celle par défaut.
Solution générale, évitant tout souci à l'avenir ? Définir des routes pour toutes les URLs de l'appli.

Hors ligne

 

#8 16-08-2011 23:56:19

nk34
Membre
Date d'inscription: 10-08-2011
Messages: 32

Re: Routes et Zend_Navigation 1.9

salut,

à ce jour il suffit d'utiliser par exemple en XML <route>default</route> d'instaurer la route default dans tous les items de ta navigation.

a plus

Dernière modification par nk34 (18-08-2011 23:12:09)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages