input de type file: le enctype se met dans un <fieldset> et non dans la balise <form>

Catégories:

Bonjour,

je suis en train de créer un bloc pour voir un peu comment drupal fonctionne.

Pour ce faire j’ai suivi ce tutoriel : http://arnumeral.fr/tutoriels/drupal/fabriquer-des-blocs

Maintenant je souhaite juste modifier le type du champ de textfield a file, j’ai vu sur différents sites qu’il faut ajouter l’enctype au formulaire de la manière suivante : «$form[‘#attributes’][‘enctype’] = ‘multipart/form-data’;»

le problème étant que drupal m’insère le code dans la balise «fieldset» au lieu de l’insérer dans la balise «form» du coup voila le code HTML généré…

<form action="/admin/build/block/configure/mon_bloc/mon_bloc"  accept-charset="UTF-8" method="post" id="block-admin-configure">
<div><fieldset enctype="multipart/form-data" class=" collapsible"><legend>Paramètres spécifiques du bloc</legend>...

donc évidemment le fichier n’est jamais uploadé…

En corrigeant le tout via firebug le fichier est correctement uploadé.

Pour info j’utilise drupal 6.15, tout fraîchement installé, je n’ai installé ou activé aucun module autre que le mien.

Donc si quelqu’un peut m’indiquer pourquoi cette erreur est la… j’ai rien trouvé comme solution sur le net.

Merci d’avance

Alain

#

Le problème est que cela n’a pas été vraiement prévu pour cela, le formulaire de configuration de bloc car il est intégré comme sous-élément (d’où le fieldset) dans un formulaire plus général.

Ceci dit, avec Drupal tu peux toujours t’en sortir. J’imagine que si tu ajoutes un hook_form_alter sur le formulaire, tu vas avoir accès au $form racine et donc pouvoir rajouter le multi-part.

Yoran - arNuméral

#

Hello,

merci de la réponse, effectivement avec un hook_form_alter, j’arrive à avoir le enctype au bon endroit.

Maintenant, comme ça n’a pas été prévu pour cela, j’imagine qu’il y a un meilleur moyen pour arriver à mes fins ?

Ce que j’aimerais faire c’est un bloc qui me permettent d’ajouter une image, ainsi que d’avoir dans le bloc le formulaire de recherche, ainsi que celui de connection.

Je m’y prends peut-être mal mais débutant avec drupal, je tâtonne et je n’ai pas encore forcément compris les bonnes marches à suivre :)

Si quelqu’un à quelques conseils utiles.. merci d’avance ! :)

Alain

Syndiquer le contenu