Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-11-2008 20:20:14

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

[Résolu]Probleme de compréhension sur les routes

Bonsoir,

Je ne comprend pas le comportement de mes routes.


J'ai dans mon initializer :

Code:

public function initRoutes()
    {                           
        // Ajout de la nouvelle route                
        $router = new Zend_Controller_Router_Rewrite();
        $router->addRoute(
            'default',
            new Zend_Controller_Router_Route(
                '/:language/:controller/:action/*',
                array(
                    'language'      =>  null,                    
                    'controller'    =>  'index',
                    'action'        =>  'index'
                )
            )
        );
         
        // Attribution de la route au front controller
        $this->_front->setRouter($router);
    }

Et dans un plugin (juste ça, j'ai commenté le reste) :

Code:

public function preDispatch(Zend_Controller_Request_Abstract $request)
    {        
        print_r($request->getParams());
        $param_language = $request->getParam('language', null);        
        die($param_language);          
    }

Quand j'appelle l'url http://localhost/tpl1/en, il me sort:

Code:

Array ( [controller] => en [action] => index [module] => default )

Ou est passé mon paramètre language ? :p

Une idée ?

Merci,

A+ benjamin.

Dernière modification par Delprog (15-11-2008 00:14:17)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#2 02-11-2008 11:22:24

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu]Probleme de compréhension sur les routes


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 02-11-2008 15:37:01

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu]Probleme de compréhension sur les routes

Salut,

J'ai lu les topics, mais je ne comprend quand même pas pourquoi j'obtiens un tel résultat.

Il devrait, comme je lui demande, me passer le paramètre "language" et j'aimerais bien savoir pourquoi il ne le fait pas smile

Peu-importe ce que je fais, le paramètre passe toujours en tant que controlleur et tout est décalé.

Je dois avoir un problème, mais je ne sais pas où il se trouve.


Merci,

A+ benjamin


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#4 02-11-2008 20:36:37

etaty
Membre
Date d'inscription: 16-10-2008
Messages: 49

Re: [Résolu]Probleme de compréhension sur les routes

remplace :
'/:language/:controller/:action/*',
par
':language/:controller/:action/*',

Hors ligne

 

#5 02-11-2008 23:22:03

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu]Probleme de compréhension sur les routes

Bonsoir,

Déjà testé, aucune différence smile

Ce que j'ai testé (ce sera plus simple) :

- Avec et sans le setBaseUrl(), il le détecte de toute façon
- '/:language/:controller/:action/* (avec la route appropriée)
- ':language/:module/:controller/:action/* (avec la route appropriée)
- '/:language/:module/:controller/:action/* (avec la route appropriée)
- l'uri http://localhost/tpl1/en/index/index/truc/toto
- l'uri http://localhost/tpl1/en/default/index/index/truc
- l'uri http://localhost/tpl1/en
- l'uri http://localhost/tpl1/en/index

Rien à faire, il considère dans tous les cas que le controller est "en".

Quoi que je fasse, le paramètre language n'existe jamais.

A+ benjamin.

Dernière modification par Delprog (02-11-2008 23:27:33)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#6 03-11-2008 12:25:59

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Résolu]Probleme de compréhension sur les routes

Je vais sûrement dire une bêtise, mais tant pis.

Le root path de ton appli, il est correct ?

Hors ligne

 

#7 03-11-2008 13:05:04

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu]Probleme de compréhension sur les routes

Salut,

Tu parles de quoi exactement ? smile

Le baseUrl ?


A+ benjamin


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#8 03-11-2008 13:26:32

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Résolu]Probleme de compréhension sur les routes

Delprog a écrit:

Salut,

Tu parles de quoi exactement ? smile

Le baseUrl ?


A+ benjamin

oui c'est ça et dans _construct :

Code:

if (null === $root) {
            $root = realpath(dirname(__FILE__) . '/../');
        }
        $this->_root = $root;

Mais bon, j'imagine que tout est ok pour ça

Hors ligne

 

#9 15-11-2008 00:13:41

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu]Probleme de compréhension sur les routes

Salut,

Pour info, j'ai réglé le problème en ajoutant le router suite à un getRouter sur le front controller (c.f. doc).

Je ne sais pas pourquoi lorsque je crée un router comme indiqué précédemment et que je fais un setRouter sur le front controller, ça ne fonctionne pas.

Par contre, si je fais un getRouter() sur le front controller et ensuite un addRoute, ça fonctionne très bien.


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

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