Envoi d'un fichier à l'utilisateur après remplissage d'un formulaire BreezingForms

J'aimerais, lorsqu'une personne valide un formulaire BreezingForms, qu'elle reçoive en retour un fichier en pièce jointe.

Comment puis-je mettre ça en œuvre ?

Niveau : Facile
Version BF minimale requise : BreezingForms Lite
Compatibilité Joomla! 4/5 :

Situation.

Vous souhaitez envoyer, à vos visiteurs, un fichier lors de la validation d'un formulaire précis.

Solution.

Il est bien sûr possible de joindre un fichier à l'email de retour que l'initiateur d'un formulaire recevra après avoir validé ce dernier.

L'envoi d'un fichier nécessite toutefois le renseignement, dans le formulaire, du chemin SERVEUR complet vers le fichier en question. Il faut donc s'assurer que le fichier ait été rendu disponible dans un répertoire de votre site. Pour l'exemple, je prendrai une petite image de Joomla!, disponible lors de toute installation du CMS.

Pour en relever le chemin complet du fichier, nous allons faire un tout petit peu de gymnastique et jongler vers la configuration de notre Joomla!.

Rendez-vous donc dans cette configuration en cliquant le lien Système → configuration, onglet Système.
Le premier élément disponible est le chemin vers le dossier logs.

FichierUtilisateur 01

Sélectionnez la partie avant le mot administrator, slash compris et copiez cette partie dans le presse-papier. Collez-la éventuellement dans un bloc-notes ou autre fichier texte.

Il faut ensuite relever le répertoire où se trouve le fichier à joindre. Pour cet exemple, nous irons au plus simple, une image nommée joomla_black.png dans le répertoire images. Relevez donc ces informations et allez les ajouter au chemin serveur de votre installation. Rendez-vous sur votre bloc-note ou là où vous aviez collé ce chemin et ajoutez-y images/joomla_black.png.
Sélectionnez le lien complet et copiez-le dans le presse-papier.

Rendez-vous dans votre formulaire et veillez à ce qu'un champ, qui devra être renseigné par l'utilisateur en renseignant son adresse email, soit présent, nommé p.ex. email avec le label que vous préférerez.

Sélectionnez ce champ et passez dans ses propriétés avancées. Cochez la case Réponse afin que l'utilisateur reçoive l'email de confirmation et dans le champ Fichier de retour par email, collez le lien complet vers le fichier.

FichierUtilisateur 02 tn

Validez les changements par le bouton Enregistrer les propriétés, puis enregistrez votre formulaire à l'aide du bouton Sauver de la barre d'outils haute.

Testez votre formulaire en renseignant votre propre adresse email comme si vous étiez un utilisateur et validez. Vérifier votre boîte mail afin de vérifier le fonctionnement de votre formulaire.

Exemple simple ci-dessous.

Ce formulaire n'étant pas connecté à notre base de données, votre nom et email ne sont traités que pour l'envoi d'un message de test. Il n'enregistre aucune donnée personnelle, il n'est présenté qu'à titre d'information et de test.

Petite piqûre de rappel :
N'oubliez jamais d'enregistrer les propriétés de vos champs après toutes modifications afin que ces dernières ne soient pas perdues lors du passage vers un autre élément.

7 commentaires

  • Attachement fichier à l'email

    Bonjour,
    J'ai fait un test avec l'exemple simple ci-dessus.
    J'ai bien reçu l'email, mais pas de fichier joint.
    J'ai testé sur un de mes sites sans plus de succès.
    Si vous pouvez m'aider
    Merci par avance
    Christian

    • Bonjour Christian,

      Vous pouvez tester le formulaire ci-dessus de nouveau, j'ai réparé une petite mise à jour oubliée. Le répertoire où se trouve le fichier en question avait été modifié et j'avais omis de mettre le chemin à jour dans le formulaire. C'est désormais chose faite.

      Si, depuis votre site, vous ne recevez pas le fichier, c'est probablement que le chemin vers ce dernier est erroné. Il faut renseigner le chemin Serveur et non le chemin http.

      Je reste à l'écoute…

      Eddy

  • Re,
    Dans mon formulaire, dans l'élément Adresse email ayant pour nom email, dans l'onglet avancé, j'ai mis /home/images/commande-kimsufi.pdf dans le champ Fichier de retour par email.
    Le pdf est dans son dossier et il est accessible : lien supprimé
    J'ai utilisé le formulaire de contact URL supprimée
    Les champs Réponse et Réponse comme envoyeur sont cochés.
    Mais pas de fichier joint à l'email!
    Christian

    • Re:

      Je serais très surpris que le chemin serveur racine de votre site soit seulement "home". Vous êtes chez OVH, si le site est placé dans le répertoire par défaut, il s'agirait du répertoire www si mes souvenirs sont bons.

      Comme je le précise dans le tutoriel, le chemin serveur peut être copié depuis la configuration de votre site Joomla! Depuis l'onglet "Système". Relever la totalité de ce qui se trouve devant "administrator" du paramètre "Dossier "Log". Il est également disponible depuis l'onglet "Serveur", paramètre "Dossier temporaire", copier toute la partie qui se trouve avant "tmp". C'est le chemin serveur complet vers votre site et c'est à placer devant votre dossier image dans le chemin vers le fichier.

      Il est encore possible de récupérer le chemin serveur en créant un fichier nommé info.php qui contient ce code :

      Chargez ce fichier à la racine de votre site et appelez-le (www.gcsite.fr/info.php), il vous donnera votre information. Si vous utilisez cette méthode, supprimez IMPÉRATIVEMENT le fichier après avoir récupéré le chemin serveur.

      Cordialement,
      Eddy

  • J'ai une autre question :
    Est-il possible de générer un pdf avec le contenu de l'email reçu par l'utilisateur ?
    Par exemple l'image ci-dessous qui correspond à l'email reçu pour lequel je voudrais joindre un pdf identique à l'email reçu:

    Merci par avance
    Christian

    • Bonsoir Christian,

      Votre image ne peut être affichée dans les commentaires, elle est refusée par ma "politique de confidentialité (CSP)". C'est probablement mieux ainsi, car elle contient des données sensibles (si elles sont réelles). Toutefois, elle m'a été transmise par ma notification e-Mail.

      Il est en effet possible de générer une pièce jointe au format *pdf. Ouvrez l'édition de votre formulaire. Dans la partie droite, cliquez "Avancé" puis "Plus d'options".
      Dans les onglets "Emails administrateur" et "Courriels de retour", sélectionnez le format PDF dans la liste déroulante nommée "Pièce jointe". Cela joindra un fichier pdf au mail concerné (admin et/ou utilisateur), contenant les informations saisies dans le formulaire en plus des en-têtes.

      Cependant, il se peut qu'il soit difficile de formater le fichier comme le montre votre image. BreezingForms utilise la bibliothèque TCPDF qui semble limiter les possibilités de modifications. Le traitement des fichiers joints de BreezingForms m'est encore un peu méconnu.

      Je vous invite tout de même à jeter un œil sur cet article (en anglais) chez Crosstec, peut-être vous aidera-t-il à produire un fichier qui puisse correspondre à votre besoin ?

      Je vous souhaite une excellente soirée.

      Cordialement,
      Eddy

Connectez-vous pour poster un commentaire

Afin d'éviter les messages indésirables, les commentaires sont réservés aux membres inscrits. Veuillez vous inscrire ou vous connecter pour publier votre commentaire

FAIRE UN DON

paypal btn

Via PayPal

PLUGIN UP DE LOMART

Universal Plugin : UP

De très nombreuses actions pour vos articles en un unique plugin.
up lomart