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 :

Envoie de mail avec macro [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 146
    Points : 76
    Points
    76
    Par défaut Envoie de mail avec macro
    Bonjour,

    Au lieux de copier coller plusieurs fois le template de mon mail pour l'inscription, formulaire de contact etc j'ai voulu faire une macro de mon email.

    Voici le code de mon mail.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {# src/Demo/StaticBundle/Resources/views/Page/contactEmail.txt.twig #}
     
    {% from 'DemoStaticBundle::macros.html.twig' import mail %}
     
    {{ mail('{{ "now" | date("d-m-Y H:i") }}','Message contact','
    Vous venez de recevoir un mail de la part de {{ enquiry.name }} le {{ "now" | date("d-m-Y H:i") }}. <br>
    Message<br>
    Reply-To: {{ enquiry.email }}
    Subject: {{ enquiry.subject }}
    Body:
    {{ enquiry.body }}
    ') }}
    Le souci est que quand je mets enquery.email etc dans la macro comme le montre le code ca ne fonction pas. Il m'écrit dans le mail {{ enquiry.subject }} etc...

    Si je n'utilise pas les macro les informations sont bien restituées.

    Avez vous une idée

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Salut.

    Il me semble qu'il y a deux problèmes ici : l'utilisation d'une macro, et l'utilisation de Twig.

    Pour l'utilisation des macros je conseillerais quelque chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {% from 'DemoStaticBundle::macros.html.twig' import mesMacros %}
    {{ mesMacros.mail() }}
    Ensuite, il est inutile de réécrire les balises Twig {{ }} partout autour de tes variables, quand ces variables sont déjà dans ces balises. Je te conseille de relire la documentation de Twig.
    Donc ca ressemblerait plus a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {{ mail("now"|date("d-m-Y H:i"),'Message contact','
    Vous venez de recevoir un mail de la part de ' ~ enquiry.name ~ ' le ' ~ ("now" | date("d-m-Y H:i")) ~ ' <br>
    Message<br>
    Reply-To: ' ~ enquiry.email ~ '
    Subject: '~  enquiry.subject ~ '
    Body: ' ~ enquiry.body ) }}
    D'ailleurs, vu comme ca, ca serait plus logique de passer l'objet enquiry à ta macro.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 146
    Points : 76
    Points
    76
    Par défaut
    Merci de ta réponse, je vais tester ça ce midi. Par la même occasion je vais lire la doc Twig

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 146
    Points : 76
    Points
    76
    Par défaut
    BOn ba ca fonctionne nikel

    Hormis l'import des macros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variable "mesMacros" does not exist in DemoStaticBundle:Page:contactEmail.txt.twig at line 6

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Ah c'est bizarre. Comment déclares-tu ta macro dans ton fichier macros.html.twig ?

    De mon côté je fais comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {% macro mail(param1, param2) %}
        Code de la macro ici
    {% endmacro %}
    Du coup, j'ai plusieurs macros dans mon fichier.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 146
    Points : 76
    Points
    76
    Par défaut
    Ba je fais exactement comme toi avec plusieurs macros dans le même fichier.

    Pour voir si je ne me suis pas trompé c'est bien comme ca que tu me préconise de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    {% from 'DemoStaticBundle::macros.html.twig' import mesMacros %}
     
    {{ mesMacros.mail('.......','........','.....' ) }}

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Arf zut, je suis désolé, j'importe comme ca en fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% import 'DemoStaticBundle::macros.html.twig' as mesMacros %}
    Il y a sûrement différents moyens d'importer, et différents moyens d'utilisation, mais si je te donne des bouts de code non complémentaires, ca va pas aider !

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 146
    Points : 76
    Points
    76
    Par défaut
    A ne tkt pas ce n'est pas grave. Je vais tester ca. Merci de ton aide

    Update : Ca fonctionne très bien merci

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

Discussions similaires

  1. [XL-2010] Problème envoi de mail avec Lotus lors du lancement d'une Macro via une tache planifiée
    Par Banjalex59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2015, 20h19
  2. [AC-2002] Envoi mail avec macro
    Par campello dans le forum IHM
    Réponses: 8
    Dernier message: 05/08/2009, 18h40
  3. Envoi de mail avec macro word
    Par stan1987 dans le forum VBA Word
    Réponses: 1
    Dernier message: 02/07/2009, 12h17
  4. envoi de mail avec sql server
    Par the_new dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/03/2005, 18h56
  5. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22

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