Note : Je vais ajouter cet article au wiki
Certains d’entre vous connaissent probablement déjà, mais pour ceux qui ne fréquentent pas les forums english, voici un petit tuto rapide :
1) Ajouter [tt]enctype="multipart/form-data"[/tt] à la balise form :
Exemple :
<form enctype="multipart/form-data" method="post" action="[~[*id*]~]" id="EmailForm" name="EmailForm">
2) Ajouter votre champ pour l’upload :
[tt]<label for="monFichier">Uploader un fichier</label>
<input name="fichier" id="monFichier" type="file" />[/tt]
2bis) Affinons les choses et ajoutons une validation (eForm 1.4.3 et > seulement) grâce à #LIST
Prenons ici l’exemple d’un fichier qui doit être au format PDF :
[tt]<label for="monFichier">Uploader un fichier</label>
<input name="fichier" id="monFichier" type="file"
eform="Fichier au format PDF:file:1:Votre fichier doit obligatoirement être au format PDF:#LIST pdf" />[/tt]
3) Ajoutez le placeholder de votre fichier correspondant à l’attribut name de l’élément input dans le chunk spécifié dans [tt]&report[/tt]
Comme pour les autres champs, eForm créé un placeholder correspondant, dans notre exemple, [+fichier+]
Ici un exemple de report pour un formulaire de contact avec attachement :
<p>Vous avez reçu un message de <strong>[+prenom+] [+nom+]</strong> via le formulaire du site http://www.monsite.com</p>
<p>Nom: [+nom+]</p>
<p>Prénom: [+prenom+]</p>
<p>Email: [+email+]</p>
<p>Sujet: [+objet+]</p>
<p>Message:<br />[+message+]</p>
<p>Fichier attaché : <br /> [+fichier+]</p>
<p>Vous pouvez utiliser ce lien pour répondre: <a href="mailto:[+email+]?subject=Re: [+objet+]">[+email+]</a></p>
Petite astuce complémentaire, si vous voulez injecter dynamiquement le nom du site et créer le lien automatiquement, ajoutez les champs hidden suivants :
[tt]<input name="urlsite" type="hidden" value="[(site_url)]" eform="::0::" />
<input name="nomsite" type="hidden" value="[(site_name)]" eform="::0::" />[/tt]
Ce qui vous permettra de récupérer la valeur de ces tags dans un placeholder :
[tt]<p>Vous avez reçu un message de <strong>[+prenom+] [+nom+]</strong> via le formulaire du site <a href="[+urlsite+]">[+nomsite+]</a></p>
[/tt]
Et voilà j’espère que cela vous sera utile
Si vous voyez une meilleure méthode, des corrections ou autres, n’hésitez pas !