Boucler sur les réponses de Formidable

Le plugin Formidable permet d’enregistrer les réponses. Mais comment récupérer ces réponses ? Par des boucles SPIP, qui possèdent quelques spécificités.

La boucle (FORMULAIRES_REPONSES)

La boucle (FORMULAIRES_REPONSES) permet de boucler sur les réponses d’un formulaire. Chaque réponse se voit associer une certain nombre de champs :

  • id_formulaires_reponse ;
  • id_formulaire ;
  • date ;
  • ip ;
  • id_auteur ;
  • maj ;
  • cookie ;
  • statut.

Comme tous les champs d’une table, il est possible de s’en servir :

  • comme critère, par ex. :
    • {id_formulaire=1}, pour récupérer les réponses du formulaire n°1 ;
    • {id_formulaire}, pour récupérer les réponses du formulaire passé en argument ;
    • {!par date} pour récupérer d’abord les réponses les plus récentes ;
  • En balise avec des majuscules et un dièse initiale #DATE.

Par défaut, seules les réponses publiées sont retournéess (comme pour les autres objets de SPIP).

Trouver les valeurs enregistrées en base

Comment trouver les valeurs postées par l’utilisateur·trice ? En raison de la structure des tables de formidable, il faut utiliser une balise spéciale : #VOIR_REPONSE{<champ>,<option>}

  • L’argument <champ> est obligatoire. Il contient le nom technique du champ sans le @. Par ex : #VOIR_REPONSE{input_1}
  • L’argument <option> est facultatif. Il peut prendre l’une des valeurs suivantes [1] :
    • S’il est absent , on aura une vue standard de la réponse, avec le label et la valeur (comme cela apparaît lorsqu’on voit les réponses dans l’espace privé).
    • S’il est égal à valeur_uniquement on aura la valeur, formatée de manière lisible par les humain·e·s. Par exemple les boutons radios et les cases à cocher ont deux valeurs :
      • une valeur technique (avant le | dans le réglage de la saisie) ;
      • une valeur humaine (après le | dans le réglage de la saisie)
        C’est la seconde valeur qui est affichée.
    • S’il est égal à brut, on aura la valeur brute (donc la valeur « technique » pour les boutons radios / cases à cocher).
    • S’il est égal à label, cela donne le label associé au champ
    • S’il est égal à edit on aura la classe css nécessaire au bon fonctionnement des du plugins crayons.

Exemple concret : je veux récupérer les champs input_1 de toutes les réponses au formulaire n°1, et je veux que les admins puissent éditer la réponse avec les crayons.

<BOUCLE_reponses (FORMULAIRES_REPONSES){0,1}{id_formulaire=11}>
<p class="#VOIR_REPONSE{input_1,edit}">#VOIR_REPONSE{input_1,brut}</p>
</BOUCLE_reponses>

Sélectionner les réponses selon l’identifiant textuel du formulaire

Les formulaires Formidable possèdent des identifiants textuels. Il est possible de sélectionner les réponses d’un formulaire en fonction de cette identifiant, mais pour cela il faut faire une jointure.

Si je veux obtenir les réponses correspondant au formulaire dont l’identifiant est inscription.

<BOUCLE_reponses (FORMULAIRES_REPONSES formulaires){0,1}{identifiant=inscription}>
<p class="#VOIR_REPONSE{input_1,edit}">#VOIR_REPONSE{input_1,brut}</p>
</BOUCLE_reponses>

Notes

[1À partir de la version 3.19 du plugin.

Dernière modification de cette page le 4 octobre 2018

Discussion

Aucune discussion

Ajouter un commentaire

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom