Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-10-2009 11:00:17

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

[Zend_route] paramètre de langue par route définie

Bonjour,


j'ai une question à propos de l'utilisation de Zend_route et du multi-lingue

j'intialise mes routes dans mon bootstrap, j'ai une fonction _initRoute qui en gros va lire un fichier xml dans lequel mes paramètre de routes sont défini, puis loop sur chaque route et les ajouter à zend_router.

je prend ici l'exemple de deux routes que je veux définir, elle pointent vers le même action/controller, mais doivent définir une langue différent

login.html doit pointer vers la le controller login action index, inscription.html doit faire pareil mais avec le paramètre de alngue en francais.

voilà ma définition de route en anglais

Code:

$route = new Zend_Controller_Router_Route_Regex('login.html?', array(
            'controller'    => 'login',
            'action'    => 'index'
        ), array(), 'login.html');

et celel en francais

Code:

$route = new Zend_Controller_Router_Route_Regex('inscription.html?', array(
            'controller'    => 'login',
            'action'    => 'index'
        ), array(), 'inscription.html');

dans mon bootstrap j'ai aussi une methode setLanguage($codelangue) qui recoit donc mon code de langue et change la langue à utiliser.

Pourriez vous m'éclaire sur le comment passer le paramètre de langue à ma route, et comment, lors du chargement de ma page (quelque par dans al bootstrap je suppose) faire en sorte de pouvoir utiliser le paramètre de langue précisé dans la route pour le passer à setLanguage()

P-e faire quelque chose dans ce genre la (mais je ne sais pas quelle synthaxe utiliser dans mon boostrap pour récupérer la langue)

Code:

$route = new Zend_Controller_Router_Route_Regex('inscription.html?', array(
            'controller'    => 'login',
            'action'    => 'index',
        'lang'        => 'fr'
        ), array(), 'inscription.html');

merci d'avance

Dernière modification par Lopimp (01-10-2009 11:00:37)

Hors ligne

 

#2 02-10-2009 12:07:43

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [Zend_route] paramètre de langue par route définie

Je trouve pas mal d'infos sur le web pour faire des routes avec langue, mais le problème c'est que la langue est spécifiée dans l'url.

Moi je ne veux pas de fr ou en dans mon url, je veux juste que le nom utilisé pour la route soit unique et que donc une fois utilisé le controller/action et la langue soient automatiquement détexté

inscription est spécifié en lang fr et login en en

Hors ligne

 

#3 02-10-2009 13:39:40

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend_route] paramètre de langue par route définie

Dans le bootstrap, tu ne peux pas avoir accès aux informations de routage, c'est trop tôt.

Je t'invite à aller voir ce thread :
http://www.z-f.fr/forum/viewtopic.php?id=4115

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 02-10-2009 13:59:36

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [Zend_route] paramètre de langue par route définie

donc y'a aucun moyen de faire router
inscription.html vers le controleur login action index langue FR
et
login.html vers le controleur login action index langue EN

c'est étrange quand même :s

Je pourrais certainement trouver un moyen de le faire en chipotant un peu et en sortant un peu de zend, mais à mon avis Zend doit permettre quelque chose comme ca.

merci en tout cas pour le lien je vais lire ca

Hors ligne

 

#5 02-10-2009 14:31:45

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

Re: [Zend_route] paramètre de langue par route définie

Hello,

Les routes traduites existent : http://framework.zend.com/manual/en/zen … d-segments

Ce n'est pas cela que tu souhaites ?

@+


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

Hors ligne

 

#6 02-10-2009 14:31:53

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend_route] paramètre de langue par route définie

Pour envoyer ton paramètre de langue à ta route il suffit de faire :

Code:

$route = new Zend_Controller_Router_Route_Regex('login.html?', array(
            'controller'    => 'login',
            'action'    => 'index',
           'languageCode' => 'en'
        ), array(), 'login.html');

Par contre ton setLanguage, il ne faudra pas le faire dans le bootstrap, il faudra le faire dans un plugin.

Lis le thread que je t'ai envoyés, c'est expliqué dans le détail.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#7 02-10-2009 15:22:07

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [Zend_route] paramètre de langue par route définie

merci philippe, mais comment affiche tu l'url d'un lien?

j'utilise assemble() dans lequel je passe un array avec mon controleur action et langue, (comme défini dans ma route) mais il ne m'affiche pas l'url dans la bonne langue.

merci pour votre aide encore une fois

Hors ligne

 

#8 02-10-2009 15:40:01

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend_route] paramètre de langue par route définie

Je n'utilise pas assemble() donc je ne suis pas expert, mais c'est vrai que dans ton cas, ça ne me paraît pas gagné d'avance... il faudrait lui donner le nom de la route, mais là on perd un peu l'intérêt du système...

Si il y a un champion de assemble(), je le laisse répondre.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#9 09-10-2009 10:05:46

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [Zend_route] paramètre de langue par route définie

Tjrs personne qui aurait dev ca?

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