tu peux montrer ce que tu as fais exactement ?
CTRL+SHIFT+U - Clear Cache
CTRL+SHIFT+H - Hiding Heft Panel
CTRL+SHIFT+N - Fast Create Resource
CTRL+ALT+P - Preview Recource (in edit resorce window)
CTRL+ALT+S - Save
Merci beaucoup Manu de ta réponse. En fait (mais je n’y connais pas grand chose), il semble que FDM (qui utilise EFORM) n’ai pas prévu d’intégrer la fonction &runSnippet qui permet de passer le paramètre &formid au snippet FileUpload.
Bon, voici mon appel de de FDM :
[!FDM? &parent=`[*id*]` &redirect=`[*id*]` &eform_tpl=`fdmEformProduct` &model=`160`!]
Le tpl fdmEformProduct contient 2 champs (titre de la page pour nom du produit et marque) puis l’appel de FileUpload avant la fermeture du formulaire :
[+validationmessage+]
<form method="post" action="[~[*id*]~]" id="fdmForm" enctype="multipart/form-data">
<input type="hidden" name="formid" value="fdmForm" />
<input type="hidden" name="fdmid" value="[+fdmid+]" eform="::0::" />
<div class="htmlsection" ><p>Merci de bien vouloir renseigner les champs dotés d’une étoile.</p></div>
<fieldset> <legend>Denominations</legend>
<p>
<label for="pagetitle">Nom commercial<span class="reqMark">*</span></label>
<input name="pagetitle" id="pagetitle" value="[+pagetitle+]" type="text" eform="Entrez un nom pour le produit:string:1" />
</p>
<p>
<label for="tvmarque" class="inlineLabel">Marque<span class="reqMark">*</span></label>
<input name="tvmarque" id="tvmarque" value="[+tvmarque+]" type="text" eform="Entrez la marque du produit:string:1" />
</p> </fieldset>
[[FileUpload? &tpl=`FileUploadForm`&path=`/assets/images/`&extensions=`doc,xls,pdf`]]
<p>
<input name="fdmsubmit" value="Soumettre" type="submit" /> <input type="submit" name="annuler" value="Annuler " />
</p>
</form>
Quant au tpl FileUploadForm, il contient :
<input type="hidden" name="formid" value="[+fileupload.formid+]" />
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="[+fileupload.maxsize+]" />
<p>First file: <input name="userfile[]" type="file" /></p>
<p>Second file:<input name="userfile[]" type="file" /></p>
<p>Third file:<input name="userfile[]" type="file" /></p>
Note: Seules les extensions suivantes sont acceptées : ([+fileupload.extensions+])
Tel que, les controles de eForm sur le formulaire ne fonctionnent plus. Et si je change la valeur du name="formid" du tpl FileUploadForm, les controles refonctionnent, mais à l’envoi d’un fichier j’ai un message d’erreur d’eForm qui me dit :
Des entrées invalides ou dangereuses ont été detectées dans votre formulaire.
Il semble qu’un appel de type [[eForm? &runSnippet=`FileUpload`]] soit requis quelque part..mais je n’ai pas réussi après moulte essais.
En claire, la question est : comment intégrer des champs d’upload de fichier dans un formulaire FDM, puisque sans FileUpload, les fichiers sont bien transmis par mail via FDM (et Eform) mais ne sont pas stockés sur le site. Autrement dit (sauf si je raconte des bétises) FDM permet l’envoi de fichier par mail mais pas leur upload.
Au secours !
une solution existe évidemment mais qui ne m’arrange guère : Faire un formulaire FDM suivi d’un formulaire FileUpload. Mais ça oblige le user à faire deux envois, et surtout ca ne permet pas de placer les champs d’upload en cohérence avec les besoins du formulaire FDM....Argh...
Salut,
je suis pas certain de ce que j’avance c’est plus une idée qu’autre chose.
Selon moi, il va te falloir coder un minimum pour t’en sortir en recourant aux evenement eform
d’abord onbeforeformparse pour renvoyer une balise input avec les attributs d’eform en lieu et place d’un placeholder.
De cette facon, eform integrera dans les entrees du formulaire ton champ file.
Ensuite sur un autre evenement dont j’i oublie le nom mais qui intervient une fois les champs validés.
C’est à ce moment que tu executes fileupload pour stocker le fichier sur le serveur.
:-)