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

Zend Framework PHP Discussion :

Routage personnalisé langue


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Routage personnalisé langue
    bonjour, je débute dans l'univers extraordinaire de ZEND facon MVC.
    Je suis en train de refaire un vieux site PHP bordélique en Zend afin de me familiariser avec les diverses fonctions.
    J'ai des fichiers de traduction et pour faire un peu "pro" j'aimerai que la navigation se fasse de cette facon : http://monsite.com/lang/controller/action

    ou lang serait un code langue (fr, en,...). mais je ne comprend pas comment fonctionne le routage personnalisé.
    J'oriente mes recherche du côté de Zend_Controller_Router_Route et addRoute
    mais je suis vraiment pas sur de bien partir.
    Lorsque je fais un addRoute sur un objet router est-ce que ca rajoute mon objet Zend_Controller_Router_Route à la fin de la liste de paramètre ?
    Pour faire simple il faudrait que je puisse ajouter un paramètre avant le controller/action/id.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Pour un site multilingue le ZF à fais une classe pour ça ici, je pense que cela sera plus simple.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Effectivement, c'est ce que j'ai à l'heure actuelle, avec mes fichier tmx et ca marche nickel.
    Maintenant mon but c'est de dynamiser ca. J'ai ma classe indexController qui possède une fonction langAction() qui permet de changer de lang.

    avec http://monsite.com/index/lang/en ca marche. Mais j'aimerais que la navigation se fasse de cette facon http://monsite.com/en/controllers/action.

    J'y voit une bonne facon d'utiliser Zend_Router, le but étant pour moi d'apprendre à manipuler Zend plus que de sortir le site dans un délai.
    Mais c'est pas évident de comprendre la logique Zend lorsque l'on à sortie que du code sauce bazar jusqu'à présent ;-)

  4. #4
    Membre éprouvé Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Par défaut
    Salut,

    Ce problème de routage m'intéresse aussi.

    Quelles routes faut-il créer pour avoir des url du type
    /:langue/:module/:controller/:action/* ?

    Avec, et c'est là mon soucis, langue et module optionnels... c'est à dire pour que tous les paramètres soient correctement initialisés pour les url suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    - site.fr
    - site.fr/module
    - site.fr/module/controller
    - site.fr/module/controller/action
    - site.fr/controller/
    - site.fr/controller/action
    - site.fr/langue
    - site.fr/langue/module
    - site.fr/langue/module/controller
    - site.fr/langue/module/controller/action
    - site.fr/langue/controller
    - site.fr/langue/controller/action
    J'ai beau me battre avec les regexp, il y a toujours un cas ou cela foire...
    Si quelqu'un a déjà travaillé sur un site multilingue avec le paramètre de la langue en 1er dans l'url, pourrait-il m'indiquer sa solution/ses routes ?

    Merci pour vos avis éclairés.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Pour info, j'ai laissé tomber ça me saoule, je reviendrais dessus quand j'aurais terminé le reste. Je sais c'est pas ce qu'il y as de plus pratique, mais j'ai vraiment envie de comprendre comment fonctionne ce "chenapan" de routage Zend .

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    J'ai eu cette réflexion il y a quelques temps.
    Voici comment j'ai fait (.ini):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    routes.compat.route = ":language/:controller/:action/*"
    Cela engendre cependant d'autres problèmes par la suite.
    Vous pouvez avoir une partie plus complète de mon fichier de config et le problème que je rencontre sur le topic suivant :
    [ZF1.5][Route] Besoin d'aide pour la configuration des mes routes => url propre
    Je trouves que la doc du manuel sur le router n'est vraiment pas clair.
    Si vous trouvez un tuto, un livre ou autre source d'infos là dessus, je suis prenneur!!!

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

Discussions similaires

  1. [Strategie]gestions de differentes langues
    Par merlin_le_chanteur dans le forum Struts 1
    Réponses: 15
    Dernier message: 09/04/2004, 15h45
  2. Réponses: 9
    Dernier message: 14/10/2003, 15h35
  3. fonction MessageDlg Delphi :changer la langue
    Par julie20 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/06/2003, 17h44
  4. [POSTGRESQL et JDBC] la langue de moliere
    Par jah dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 15/05/2003, 11h21
  5. Changement de langue dynamique (D6 et outils de traduction)
    Par agon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2002, 16h15

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