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 :

Probleme de recuperation de langue Zend Translate


Sujet :

Zend Framework PHP

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut Probleme de recuperation de langue Zend Translate
    Bonjour à tous,

    j'ai suivi ce tutorial pour faire un site multi langue : http://www.joecarbure.com/dw2/doku.p...zend_framework

    Mon problème est : je n'arrive pas à récupérer la langue pour la traduction, le message d'erreur suivant apprait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to a member function getParam() on a non-object in ...
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    $controller = Zend_Controller_Front::getInstance();
     
    $router = new Zend_Controller_Router_Rewrite();
    $router->addRoute(
        "default",
        new Zend_Controller_Router_Route(
            "/:language/:controller/:action/*",
            array(
                "language"      =>  "fr",
                "controller"    =>  "Joueur",
                "action"        =>  "new"
            )
        )
    );
     
    $controller->setRouter($router);
     
    // Définition des langues
    $language = $controller->getRequest->getParam("language", "fr");
     
    switch ( $language ) {
       case "en":
          $locale = new Zend_Locale("en");
          break;
       default:
          $locale = new Zend_Locale("fr");
          break;
    }
     
    // Chargement du fichier de traduction
    $translator = new Zend_Translate('tmx', TRADUCTION_DIR.'/translations.tmx', $locale);
    Zend_Registry::set('translator', $translator);
    Le probleme survient ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $language = $controller->getRequest->getParam("language", "fr");
    Merci pour votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Par défaut
    hello,

    Il suffit de lire le message d'erreur qui te dit que tu appeles getParam sur quelque chose qui n'est pas un objet, le probleme survient donc juste avant :

    Tu devrais écrire :
    $language = $controller->getRequest()->getParam("language", "fr");

    avec les parenthèses, car c'est une méthode qui est censé te renvoyer un objet requête

    @+

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut
    Citation Envoyé par patbator Voir le message
    hello,

    Il suffit de lire le message d'erreur qui te dit que tu appeles getParam sur quelque chose qui n'est pas un objet, le probleme survient donc juste avant :

    Tu devrais écrire :
    $language = $controller->getRequest()->getParam("language", "fr");

    avec les parenthèses, car c'est une méthode qui est censé te renvoyer un objet requête

    @+
    Merci pour la reponse
    même avec les parentheses (mauvaise saisie) sur le getRrquest(), ça ne marche

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Par défaut
    Bonjour Yegor,

    Comme j'ai déjà répondu à ce problème, voici la discussion où tu trouveras les explication de l'erreur que tu reçois :

    http://www.developpez.net/forums/d63...nalise-langue/

    En gros ton objet request n'est pas encore initialisé puisque tu es dans le bootstrap et que tu n'as pas encore lancé le dispatch... Mais regarde la discussion que je t'ai donnée

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut
    Citation Envoyé par oliviercuyp Voir le message
    Bonjour Yegor,

    Comme j'ai déjà répondu à ce problème, voici la discussion où tu trouveras les explication de l'erreur que tu reçois :

    http://www.developpez.net/forums/d63...nalise-langue/

    En gros ton objet request n'est pas encore initialisé puisque tu es dans le bootstrap et que tu n'as pas encore lancé le dispatch... Mais regarde la discussion que je t'ai donnée
    Merci beaucoup

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Par défaut
    De rien

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

Discussions similaires

  1. probleme avec zend translate
    Par elamarti dans le forum Autres composants
    Réponses: 0
    Dernier message: 26/06/2013, 10h32
  2. [xml-xsl][debutant]probleme de recuperation d'url
    Par psychogore dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2005, 17h09
  3. Réponses: 2
    Dernier message: 15/04/2005, 09h27
  4. [C#] Problème de récupération d'une procédure Oracle
    Par minnieBis dans le forum ASP.NET
    Réponses: 11
    Dernier message: 20/04/2004, 13h48
  5. TThread: probleme de recuperation du Handle
    Par code34 dans le forum Langage
    Réponses: 8
    Dernier message: 07/09/2003, 03h04

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