Webform existant : ajouter un champ file

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je suis en train de créer un formulaire dans lequel lorsque j'ajoute des personnes (grâce au module webform multiple), je dois créer autant de champ de type file.
Pour l'instant, j'ai fait un formulaire en 2 pages. Su la première, j'ajoute mes personnes et sur la 2ème page je récupère le nombre de personne pour créer autant de champ file. J'ai réussi à créer ses champs en faisant :
$form['test'.$i]=array(
'#type' => 'file',
'#title' => t('Visas des directeurs des laboratoires impliqués'),
'#size' => 60,
'#maxlength' => 128
);

Mais, le problème c'est que le champ n'est pas le même que celui de webform. Il n'y a pas le bouton transférer.
De plus, en faisant celà, cela n'enregistre pas dans la base à la soumission.
J'ai tenté une autre solution en faisant celà:
$components[] = array(
'name' => 'test'.$i,
'form_key' => 'test'.$i,
'type' => 'file',
'mandatory' => 1,
'weight' => 99,
'pid' => 0,
);

$node = node_load($nid);
foreach($components as $component) {
$component['nid'] = $nid; // The node id of your webform
$node->webform['components'][] = $component;
webform_component_insert($component);

Les champs sont bien créé mais ils ne s'affichent pas sur la page. Il faut que je vide le cache et si je reviens en arrière sur mon formulaire ça recrée les champs dans la base (j'imagine qu'il faudra que je teste l'existence).

Là, je suis perdue je ne sais pas comment faire pour faire bien.

Si qqn a compris et peut m'aider, cela serait super sympa.

Merci d'avance.

Forum :