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

Symfony PHP Discussion :

Variable dynamique dans un twig (avec fichier translation)


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web en formation
    Inscrit en
    Février 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en formation

    Informations forums :
    Inscription : Février 2014
    Messages : 66
    Par défaut Variable dynamique dans un twig (avec fichier translation)
    Bonjour à tous

    Voilà j'ai besoin d'utiliser une variable dynamique dans un twig tout en utilisant une fonction de TRANSLATION.

    Je m'explique.
    En tant normal pour une variable fixe bien définie, j'écris dans mon template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ 'message.erreur.13'|trans({}, 'IAHtranslation') }}
    Vous l'aurez compris, il s'agit d'afficher le message d'erreur n°13 dont le texte est défini dans un fichier.yml annexe appelé par la fonction |trans({}, 'IAHtranslation')
    Jusque là tout fonctionne.

    sauf que moi j'aurais besoin de remplacer le '13' de façon dynamique.
    En cherchant un peu j'avais trouvé une solution pour écrire une variable dynamique, mais visiblement ca ne fonctionne pas dans mon cas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #En supposant que {{number}} = 13
    {{ 'message.erreur.'~ number|trans({}, 'IAHtranslation') }}
    Si j'écris ça, il m'affiche au final "message.erreur.13" (donc il a bien compris et remplace {{number}} par sa valeur, mais ensuite il n'a pas pris en compte la variable dynamique au complet afin de l'appliquer dans la fonction de TRANS :/

    Alors que si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ 'message.erreur.13'|trans({}, 'IAHtranslation') }}
    Il me remplace bien "message.erreur.13" par le texte correspondant

    Vous auriez une idée de comment m'y prendre ?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    Bonjour,
    j'ai pour toi un exemple très connu .
    Pour FOSUserBundle , on a :
    dans la vue de resetting mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ 'resetting.check_email'|trans({'%email%': email}) }}
    et dans le fichier yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    resetting:
        check_email: 'An email has been sent to %email%. It contains a link you must click to reset your password.'
    J’espère que c'est utile

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Par défaut
    Bonjour,

    Ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ ('message.erreur.'~ number)|trans({}, 'IAHtranslation') }}

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web en formation
    Inscrit en
    Février 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en formation

    Informations forums :
    Inscription : Février 2014
    Messages : 66
    Par défaut
    Merci " MehrezLabidi", mais du coup ma syntax dans mon .yml est bien correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    message:
       erreur:
            13: Erreur d'identifiant. Cet identifiant est inconnu
    Pour preuve, ca s'affiche très bien si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ 'message.erreur.13'|trans({}, 'IAHtranslation') }}
    le problème survient quand je veux remplacer le 13 par une variable dynamique.

    Du coup, j'ai essayé ta syntaxe s-k-p, et c'était bien ça !!
    Merci

    [ne pas prendre en compte la copie d'écran ]
    Images attachées Images attachées  

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

Discussions similaires

  1. Afficher une variable dynamique dans la barre des taches de windows
    Par mustang-ffw02 dans le forum Windows Forms
    Réponses: 16
    Dernier message: 27/05/2007, 23h24
  2. [RegEx] utiliser une variable variable (dynamique) dans preg_replace
    Par thibs44 dans le forum Langage
    Réponses: 1
    Dernier message: 18/01/2007, 11h29
  3. Réponses: 4
    Dernier message: 19/05/2006, 14h30
  4. Enregistrement d'une variable dynamique dans un fichier
    Par zarbydigital dans le forum Langage
    Réponses: 13
    Dernier message: 24/12/2005, 21h28
  5. variable dynamique dans une fonction javascript
    Par Shivaneth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/04/2005, 15h58

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