wiki:SpipForms

Retour sommaire Doc LesPlugins

Spip-Forms

Téléchargement direct:

  • Préfixe: Forms
  • Etat: Stable

Autre documentation :

Utilisation

Créer un formulaire

Utilisation basique du plugin Forms (le sondage n'est pas explicité pour l'instant dans ce document).

Une fois que vous avez choisi ce plugin dans l'interface de gestion des plugins (Configuration > Gestion des Plugins > cocher la case "Formulaires"):

  1. Passez la souris sur "Edition" puis cliquez sur l'icône "Formulaires et sondages";
  2. Cliquez sur "Créer un nouveau formulaire";
  3. Donnez un titre, éventuellement un descriptif, et indiquez une adresse email où seront envoyées les réponses au formulaire rempli en ligne par vos utilisateurs;
  4. choisissez "Ce formulaire n'est pas un sondage" (c'est le seul exemple abordé dans ce document) puis validez; La validation initialise la création du formulaire. vous pourrez ensuite aborder la seconde phase, celle de la définition des champs du formulaire.
  5. la même page s'affiche donc apres la validation, mais en bas vous trouverez un sélecteur des types de champs que vous pourrez afficher dans votre formulaire. Choisissez les champs dont vous avez besoin, nommez les, puis ajoutez chaque élément, un par un ; voici le détail des champs possibles :
    1. ligne de texte crée un champ de saisie sur une seule ligne
    2. texte crée un champ de saisie sur plusieurs lignes
    3. adresse mail crèe un champ de saisie d'adresse mail avec la mention "Veuillez entrer une adresse e-mail valide (de type vous@…)"
    4. adresse web crée un champ de saisie d'adresse web avec la mention "Veuillez entrer une adresse Web valide (de type http://www.monsite.com/...)". D'autre part, on peut choisir de vérifier la validité du site.
    5. choix unique insère un choix entre autant d'item que l'on souhaite de style "bouton radio" un seul bouton pourra être coché.
    6. choix multiple insère les classiques choix à cocher avec possibilités de plusieurs choix (cases carrées). Pour ces deux derniers types de champs, le changement est proposé après la création du champ pour transformation d'un type vers l'autre.
    7. fichier à télécharger permet à l'utilisateur de joindre un fichier. Le concepteur du formulaire fixe la taille maxi en ko du fichier.
    8. mots-clés ajoute automatiquement une liste de cases à cocher de type "choix multiples" correspondants à tous les mots-clés d'un groupe de mots-clés. Le choix entre les groupes de mots-clés est proposé au concepteur du formulaire. ex : j'ai un groupe de mots-clés nommé "Thématiques". En choisissant ce groupe lors de la création du formulaire, j'insère automatiquement une série de cases à cocher avec tous les mots-clés de ce groupe, soit Communauté, Culture, Développement, Licences libres, Logiciels libres.
    9. nouveau bloc de questions crée un nouveau cadre qui entourera tous les champs qui suivront jusqu'à l'insertion d'un autre champ "bloc de questions" 1. message d'explication insère un texte de votre choix, donc par exemple pour écrire vos questions ou commenter votre formulaire.A noter qu'il est possible de faire remonter ou descendre chaque champ. On a aussi un aperçu du formulaire tel qu'il apparaîtra à l'utilisateur.
  6. Lorsque vous avez intégrés tous les composants souhaités , cliquez sur "Retour" en haut de la page. Votre formulaire est créé. Mais pour le publier il faut maintenant l'inclure dans un article

Apercu écran: http://spip.monade.net/spip_form_createForm.png

Insérer un formulaire dans un article

Vous insérez donc ce formulaire dans un article, à la manière d'une insertion d'image : lorsque vous créez ou modifiez un article, vos formulaires se trouvent à gauche de votre article et vous n'avez qu'à coller le code du formulaire voulu (ex. "<form1>" dans le corps de votre article (comme pour une image &lt;img1&gt;).

Apercu écran: http://spip.monade.net/spip_form_insertForms.png

Ne pas oublier, il faut éditer l'article pour voir le formulaire d'ajout de l'objet formulaire

Consulter les réponses

Pour consulter les réponses que vos utilisateurs ont envoyées :

  • En consultant l'interface privé: en passant votre souris sur "Forum", puis sur "Suivi des réponses" (les réponses sont sur le même mode que les signatures des pétitions).
  • En recevant les réponses par email: Si vous avez indiqué une adresse mail dans la configuration de votre formulaire (plus haut), vous recevrez *également* le contenu du formulaire par mail (pour autant que votre serveur vous autorise à envoyer des mails).
  • En Exportant les réponses au format CSV: Vous avez également la possibilité de télécharger le fichier des données collectées au format csv pour excel. Sur la page Edition >Formulaire et sondage > Votre Formulaire : une fois que votre formulaire est publié et que vous avez collecté des réponses, apparait à gauche de l'interface de modification du formulaire, un bloc de consultation des réponses -&gt; voir les réponses (consultation modération cf forum) -> télécharger les réponses (récupération de l'ensemble des données sous forme d'un fichier csv pour excel : carrément génial...)

Récupération des données des formulaires créés via des boucles

Vous pouvez récupérer les infos de vos formulaires en utilisant la boucle suivante :

<BOUCLE_NomDeLaBoucle(SPIP_FORMS)>#TITRE</BOUCLE_NomDeLaBoucle>

  • Soit « NomDeLaBoucle » = le nom de la boucle (ce que vous voulez, pourvu qu'il n'y ait pas d'espace)
  • Soit « SPIP_FORMS » = le nom de la table (si vous avez choisi un préfixe de table pour votre site spip, vous devez remplacer « SPIP » par ce préfixe; ex. : « MON_PREFIXE_FORMS » ou « MONPREFIXE_FORMS »)
  • #TITRE = le titre du formulaire

il reste à tester les autres champs de la table « spip_forms », à savoir : #DESCRIPTIF, #SONDAGE, #STRUCTURE, #EMAIL, #CHAMPCONFIRM, #TEXTE pour voir si ça marche, et regarder quels champs sont ajoutés dans la table « spip_forms » en fonction des formulaires que l'on crée et de leurs composants.

En l'état actuel du plugin, le contenu de tous les champs du formulaire créé est rassemblé dans un seul champ. Vous ne pouvez donc pas, en l'état actuel, récupérer chaque donnée indépendament l'une de l'autre : vous ne pouvez que récupérer toutes les données du formulaire avec une seule balise : #STRUCTURE. La balise #STRUCTURE stocke la description du formulaire, a savoir le type de chaque champ qui a été défini par l'utilisateur et les données annexes (reponses possibles pour un champ type choix par exemple...). Tel quel il n'est pas vraiment utilisable. Si vous voulez en faire quelque chose, vous pouvez le passer par le filtre |unserialize et vous récupérerez un tableau php. Mais ca restera d'une utilisation pointue. Les reponses au formulaire sont elles stockées dans la table spip_reponses et spip_reponses_champs. Pour une reponse donnée, vous avez un renregistrement dans spip_reponses, associé a n enregitrements de spip_reponses_champs ayant le meme id_reponse. Donc vous pouvez eventuellement récupérer les reponses par des boucles sur ces tables. Toutefois, les données des champs de type choix ne sont pas stockées en clair mais en tant que numero de choix (à peu de choses près), et il faut utiliser la structure decrite ci-dessus pour le comprendre. En clair, il faudrait différents filtres pour interpréter la #STRUCTURE et les réponses dans un squelette.

ASTUCE

Pour séparer 2 questions tout en les gardant au sein d'un même bloc de questions, vous pouvez intercaler entre les deux un champ "message d'explication" que vous nommerez "----". Les 4 tirets consécutifs se comporteront suivant les règles typographiques de Spip et vous créeront un trait horizontal.

Last modified 15 years ago Last modified on Aug 21, 2008, 9:16:02 AM