Formidable, le générateur de formulaires

Un générateur de formulaires facilement configurable pour les non-informaticiennes et facilement extensible pour les développeur⋅euses.

Cette documentation est valable à partir de la version 6.1.0 de Formidable.

Introduction

Historiquement, deux plugins avaient déjà été développés précédemment pour gérer des formulaires :

  • Forms &Tables, qui n’a pas été complètement porté pour SPIP 2.
  • et spip-formulaire créé par artego mais qui n’était plus maintenu.

La question s’est donc posée : construire sur la base d’un des deux plugins ou repartir de zéro ?
Form &Table, très complet pour les utilisateurs, présentait l’inconvénient d’avoir un côté « fourre-tout » qui le rendait difficilement modifiable et difficile à personnaliser par les dévs.

Il a finalement été décidé de repartir de zéro pour proposer quelque chose :

  • de plus facile à utiliser pour les utilisateurs d’une part,
  • mais aussi de plus facile à personnaliser pour les développeur⋅euses.
    Avec le parti pris de se baser de préférence sur plusieurs petits plugins spécialisés et de tirer parti de la nouvelle norme CVT.

Interface utilisateur

L’utilisation basique de l’interface est abordée dans ce screencast : Mon premier formulaire pas à pas : c’est Formidable !

Appeler mon formulaire

Vous devez appeler le formulaire ayant le nom « formidable », en lui passant en paramètre l’identifiant de votre formulaire.

Dans un contenu

Utilisez le modèle <formulaire> classique : <formulaire|formidable|id=34> ou bien <formulaire|formidable|id=contact>

Dans un squelette


#FORMULAIRE_FORMIDABLE{34} ou bien #FORMULAIRE_FORMIDABLE{contact}

Afficher les résultats du formulaire

Dans un contenu

Utilisez le modèle <formulaire_analyse|id_formulaire=34>

Pré-remplir dynamiquement les champs d’un formulaire

À noter, vous avez la possibilité de surcharger dans l’appel, les valeurs par défaut des champs de votre formulaire. Pour cela, vous devez passer un tableau de nom=>valeur en deuxième paramètre. Vous pourrez trouver les noms de vos champs dans l’aide-mémoire situé sur la page de configuration des traitements.

Dans un contenu

Le tableau de valeurs dans un paramètre defaut sous forme d’une suite de chaînes « clé,valeur » séparée par des virgules :
<formulaire|formidable|id=contact|defaut=hidden1,valeur,input_5,autrevaleur>

Dans un squelette

Le tableau en deuxième paramètre :

#FORMULAIRE_FORMIDABLE{contact, #ARRAY{nom_du_champ, Ma valeur}}

C’est particulièrement utile pour remplir un champ caché avec une valeur dynamique venant du squelette :

#FORMULAIRE_FORMIDABLE{contact, #ARRAY{hidden_1, #ID_DOCUMENT}}

Autres options utilisable dans le squelette

Il est possible de passer des options comme troisième argument du formulaire, sous forme de tableau (#ARRAY).

Options possible comme troisième argument de #FORMULAIRE_FORMIDABLE
Nom de l’optionFonctionType
forcer_modif Permet de forcer la modification d’une réponse, même si non autorisé Booléen
id_formulaires_reponses Identifiant de la réponse à modifier Entier
no_ajax Désactiver l’ajax sur le formulaire Booléen
traiter_email_destinataires Destinataires pour le traitement Tableau (#ARRAY) d’emails ou liste d’emails séparés par des virgules
traiter_email_destinataires_methode Indique si traiter_email_destinataires doit remplacer les emails déjà configurés dans le traitement ou les ajouter Au choix 'remplacer' ou 'ajouter' (valeur par défaut)
url_redirect Url de redirection Chaine

Exemple d’un formulaire Formidable dont l’identifiant est contact_libre et dont l’email destinataire est dans le champ email de la table de votre objet #EMAIL de la table spip_contacts ….

<div class="ajax">
#FORMULAIRE_FORMIDABLE{contact_libre,'',#ARRAY{traiter_email_destinataires,#EMAIL}}
</div>

Case unique

Pour rendre obligatoire la réponse oui à une case unique (pour la validation de conditions d’utilisation par exemple), il faut simplement rendre le champ obligatoire.

Courriels de notification

Une option des traitements proposés permet d’envoyer un mail de notification automatiquement, à chaque saisie d’un formulaire.

Le squelette par défaut employé pour la mise en forme de ces mails est plugins/formidable/notifications/formulaire_email.html. Vous pouvez le copier dans le répertoire ’notifications’ de votre squelette et l’y modifier à votre guise. Cette modification vaudra pour tous les formulaires.

Pour utiliser un squelette spécifique pour les mails de notification de l’un seulement des formulaires définis avec Formidable, il suffit d’ajouter son squelette dans le répertoire ’notifications’ de votre dossier squelettes, mais en ajoutant l’identifiant.

IDENTIFIANT étant l’identifiant du formulaire défini dans Formidable, les squelettes doivent se nommer :
formulaire_IDENTIFIANT_email.html pour le mail aux destinataires
formulaire_IDENTIFIANT_accuse.html pour l’accusé de réception du visiteur

Conservation des IP

Les adresse IP des personnes répondant aux formulaires sont stockées en base de donnée. Depuis la version 1.5 (SPIP 3) / 0.7 (SPIP < 3), elle sont automatiquement hashé, de manière à ce que l’IP ne soit plus reconnaissable, au bout de 124 jours (environ 4 mois).

Pour changer ce délai, vous pouvez redéfinir la constante _CNIL_PERIODE dans votre fichier mes_options.php.

Par exemple :

define('_CNIL_PERIODE', 24*3600);

permet de hasher les IP toutes les 24 heures.

Si vous voulez désactiver le hashage, mettez la valeur à 0.

Envoi de fichiers

Lire l’article complémentaire : Envoyer des fichiers avec un formulaire Formidable.

Mise en forme des saisies

Le plugin ne prévoit aucun réglage de mise en forme des saisies : c’est à chaque squelette d’avoir ses styles. Il respecte cependant la convention d’écriture des formulaire SPIP. Il permet d’ajouter des classes spécifiques sur les saisies.

Affichage des réponses sous forme de tableau

Le plugin Formidable Tablesorter permet d’afficher sous forme de tableau les réponses, dans l’espace privé, avec possibilité de tri et de filtre.

Voir aussi sur le wiki


-  Complément de doc et exemples sur les boucles et balises de formidable
-  Exemples de stylage CSS d’un formulaire Formidable
-  todoFormidable
-  Formidable, présentation aux Grottes (2010)

Discussion

811 discussions

  • 18

    Bonjour,
    Je constate des messages d’erreur depuis la mise à jour auto en 4.7.0, en particulier avec GIS (remplissage de leur formulaire ou modifications apportées).
    Bonne soirée.

    • Peux-tu expliquer plus en détail, parce que quel rapport avec GIS ?

    • heu.......

      1) à ma connaissance il n’y a pas de lien direct entre formidable et gis
      2) « des messages d’erreurs » c’est tout sauf précis, et donc ne permet absolument pas de vous aider.

    • Dans ce cas, est-ce lié à Saisies pour formulaires 3.43.0 ... car le message est fugace et disparait très rapidement (erreur squelette ?)

    • Bah encore une fois, dure de vous répondre en l’absence de message d’erreur précis...

    • Mais le message de quoi ? De quel plugin ? Dans quelles pages ? En faisant quelle action précisément ? C’est ça qu’il faut expliquer pour savoir quoi faire, tester, reproduire

    • le message est si fugace que je n’ai ni le temps de le lire, ni de faire une copie d’écran...

    • bah du coup on moi donnez nous une adresse et une procédure pour qu’on puisse le reproduire...

    • et tant qu’à faire si c’est un formulaire formidable, envoyez nous un export .yaml...

    • J’ai capturé en vidéo de la fenêtre et ensuite réalisé une capture du message en pièce jointe.
      Bien à vouS.
      Michel

    • Apparement la mise à jour ne s’est pas faite totalement, et ta structure de table de données n’est pas bonne.

      Est-ce que tu peux repasser par la page de gestion des plugins ? Il devrait t’indiquer un message du style « mise à jour de formidable en 1.0.0 », quelque chose comme ca.

    • Voici ce que j’ai :

      Formidable 4.7.0 - stable
      Générateur de formulaires

      Plugin actifConfiguration Formidable
      Création de formulaires avec une interface graphique et configuration des traitements associés (envoyer par courriel, enregistrer les réponses, etc).

      Documentation
      par
      RastaPopoulos, Les Développements Durables, Maïeul
      Licence
      GPL 3
      Version :
      4.7.0
      Préfixe
      formidable
      Répertoire :
      plugins/auto/formidable/v4.7.0/
      Nécessite :
      SPIP Bonux ≥ 3.3.8, Saisies pour formulaires ≥ 3.34.0, API de vérification ≥ 1.6.2, YAML ≥ 1.5.2, Facteur ≥ 3.6.2, NoSPAM ≥ 1.6.1

    • ce n’est pas du tout ce que je demandais ;)

      je parlais plutot d’un message qui t’indique une MISE À JOUR. Cf capture d’écran

    • Je n’ai pas de message de ce type actuellement... Je l’ai eu lors de la mise à jour vers 4.7.0

    • hum

      tu as du être victime du bug de l’opcache php recalciltrant.

      La seule solution que je vois est de créer à la main le bon champ dans phpmyadmin

    • Je vais tester à nouveau en ayant désactivé et réactivé...

    • Bonjour,
      J’arrive dans la conversation en cours, mais j’ai également le même problème que Michel.

    • @michel : c’est pas en désactivant/réactivant que tu va corriger le problème, puisque le problème est précisement le manque de création du champ, et l’activation/desactivation n’y change rien.

      Cela étant, on me murmure que la solution la plus simple à ce problème (fréquent mais que je ne rencontre jamais car dépend des configurations hébergeur) c’est de passer dans Maintenance->Maintenance technique->Réparer la base.

    • Merci.
      Pour mon cas, cela a corrigé le problème.
      Bonne soirée et merci de votre réactivité.
      jean-Michel

    Répondre à ce message

  • 4

    Bonjour et merci pour ce travail qui me rend bien service.

    Mon soucis :
    Je n’ai pas la liste des formulaires et des réponses dans l’espace privé.

    J’ai vérifié et mis à jour Spip en SPIP 3.2.8 [24473] & Formidable en 4.6.2 .
    Indices : une fenêtre de bug avec « 2 erreur(s) dans le squelette »
    N°1=> Critère inconnu « Objet » dans le squelette :
    ../plugins/auto/formidable/v4.6.2/prive/objets/liste/formulaires.htm
    boucle _formulaires ligne 7
    et N°2=> id_objet même endroit.
    Pour info, j’ai choisi dans préférences : « Afficher le menu Développement »
    Et avec la possibilité de voir les tables de la base, j’ai bien mes formulaires et les réponses.
    Ce n’est donc que la visu dans l’espace privé qui semble poser problème.

    Dans le squelette signalé, j’ai enlevé dans la boucle indiquée {objet?}{id_objet?} et ça affiche bien la liste des formulaires, mais je ne sais si ça ne risque pas d’impacter le reste ???

    Par avance merci de votre intérêt, Alain
    Si quelqu’un peut m’indiquer quoi faire, je serais très reconnaissant.

    • As tu bien la table spip_formulaires_liens ? qu’-est-ce que cela donne si tu fais un &var_mode=recalcul dans l’espace privé ?

    • Oui, j’ai bien la table : spip_formulaires_liens
      &var_mode=recalcul me redonne bien la liste des formulaires, merci beaucoup
      c’était cela qui coinçait !!!

      Je saurais m’en souvenir, encore merci Maïeul

    • Après avoir fermé le navigateur et ouvert à nouveau, je dois mettre &var_mode=recalcul pour avoir mes formulaires, ce n’est pas d’office affiché.
      Je suis sous Firefox, dernière version et je vide le cache et l’historique à chaque fermeture.
      Je sais comment me dépanner, mais si ce n’était pas nécessaire de faire la manip, ce serait plus « Formidable », merci, Alain

    • bah heu il y a que chet toi que cela arrive, comme si tu avais un vieux cache de spip qui trainait.

      Donc vide l’ensemble de ton cache spip, deja, et on verra ensuite.

    Répondre à ce message

  • 2

    Bonjour,
    Message d’erreur reçu lorsqu’un visiteur veut remplir le formulaire https://laccreteil.fr/spip.php?article423 sur notre site :
    Formidable 4.6.2 & Saisies pour formulaires 4.0.0 & SPIP 3.2.8 [24473]

    Fatal error : Uncaught Error : Call to undefined function saisies_lister_par_etapes() in /home/laccrete/www/plugins/auto/formidable/v4.6.2/formulaires/formidable.php:226 Stack trace : #0 /home/laccrete/www/ecrire/public/aiguiller.php(222) : formulaires_formidable_verifier_dist(’Alerte1’) #1 /home/laccrete/www/ecrire/public.php(105) : traiter_formulaires_dynamiques() #2 /home/laccrete/www/spip.php(26) : include(’/home/laccrete/...’) #3 main thrown in /home/laccrete/www/plugins/auto/formidable/v4.6.2/formulaires/formidable.php on line 226
    L’avez-vous constaté ailleurs ?

    Bonne journée
    Michel

    • Tu a eu le bug de la version fantome du plugin saisies. La version 4.0.0 a été diffusé par erreur, mais n’existe pas en vrai.

      Donc
      1. Déinstalle la version 4.0.0
      2. Reinstalle la bonne version 3.43.0 (version actuelle)

    • Parfait, c’est OK maintenant !
      Merci beaucoup !

    Répondre à ce message

  • 2

    Bonjour

    J’ai créé un formulaire ficheprojet et j’ai configuré :
    -  Modifiable : Les visiteurs peuvent modifier leurs réponses après coup.
    -  Identification des réponses : par cookie

    Et cela fonctionne bien. Si je retourne sur mon formulaire plus tard, les données sont toujours là.

    Ensuite, j’ai dupliqué ce formulaire en ficheprojet_2, ficheprojet_3, ficheprojet_4, ficheprojet_5, avec exactement la même configuration.

    Si je remplis un de ces formulaires, et si je reviens dessus juste après, les données ne sont PAS conservées, tout est perdu. Alors que cela fonctionne bien avec le 1er formulaire.

    Est-ce un BUG ou un problème de configuration ?
    MERCI pur votre aide.

    • dans la config rien n’est perdu après duplication ? c’est bien la même chose que pour le premier ?

    • OUPS désolé je n’avais pas vu la réponse.

      OUI les traitements des formulaires ont bien été dupliqués, notamment « Enregistrer les résultats... »

    Répondre à ce message

  • 1

    Bonjour,

    Je viens d’avoir un problème avec un formulaire en place depuis des années. Après remplissage et clic sur le bouton « envoi » il y avait l’erreur « votre saisie contient des erreurs » et les réponses n’étaient pas envoyées.
    J’ai fait des tests et il y avait le critère « attribut class » pour le « Type de vérification à effectuer » qui était affecté (je ne sais pas pourquoi) à un champ de cases à cocher. Lorsque j’ai changé cet « attribut class » en « aucune » le formulaire s’est remis à fonctionner.
    Les seules modifications faites sur ce site sont les mises à jour des plugins et le passage de SPIP SPIP 3.2.7 vers SPIP 3.2.8 (le formulaire fonctionnait jusqu’à très récemment)

    • bah heu difficile d’en dire plus. Mais je pense pas que ce soit nous qui ayons activé cette vérification...

    Répondre à ce message

  • 7

    Bonjour, j’ai un problème sur un site en prod avec un bon traffic, le formulaire d’envoie ne marche pas : pas de réponse en backoffice, ni dans le dossier config/fichiers/formidable, pas de traces suspectes dans le log non plus… Je ne sais pas comment le debugger.
    (avant cela marchait avec « formuaires et tables », mais un autre problème nous à pousser à changer pour celui-ci)

    Le spip est en : 3.0.19 (impossible à mettre à jour malheureusement pour cause d’incompatibilité des plugins actuels abandonnés).

    Et donc la version utilisée de formidable est là : 2.15.11 - stable

    Savez-vous comment je pourrais débugger ce problème ?

    Merci !

    • Hum, la version de formidable n’est plus maintenu, ni la version de SPIP. Du coup difficile pour nous de se motiver à investiguer le problème...

      mais faudrait deja voir si la structure de table spip_formulaire est bien là. Et regarder si formidable.log recoit bien les choses...

      mais bon, maintenir un spip 3.0 c’est un peu un trou de sécurité. Le mieux serait plutot de prendre du temps pour voir quels sont les plugins qui ne sont plus maintenu et voir si on peut les adapter.

    • Bonjour… oui je comprends bien…

      spip_formulaire n’existe pas, mais spip_formulaires existe bien.
      avec liens, réponses et réponses champs.

      Et formidable_post.log reçoit bien des données du genre :

      2020-09-11 08:42:06 82.64.176.84 (pid 128362) :Pub:!INFO: {"id_rubrique":9,"id_article":1023,"id_formulaire":20,"page":"article","formulaire_action":"formidable","formulaire_action_args":"6oS08fd8YVzNYLIfgeMjyjPWXc5mgPf0CoiDGBBpa0C8E8tMhYgpYu4Og+uBXPce\/1FxeRCnBjVOFVsWMt\/Lq3tk3Qju3dofe0tQDUKeHIlXKljZ6hqnmPQ0eEDP","formidable_afficher_apres":"formulaire","_jeton":"18f697cd109a06d2089e3b72bbdca42da5250157","email_nobot":"","mechantrobot":""}

      mais pas de message d’erreur à priori

    • bon, donc la table est là.

      Mais juste pour être sur, tu a bien configuré l’enregistrement des réponses dans ton formulaire ?

    • Oui l’option : Enregistrer les résultats : Enregistre les résultats du formulaire dans la base de données est bien activée. (aucun fichier dans les réponses sous spip, ni sur le ftp, d’ailleurs le dossier d’upload, n’as pas été créé tout seul, j’ai du le faire à la main, c’est peut-être un indice ? )

    • le dossier d’upload ca n’existe que depuis la version 3.0.0 du plugin :) donc normal qu’une version 2.0 ne le cree pas.

    • autrement dit : pour avoir une version de formidable qui gère l’envoie de fichier, il faut au moins la 3.0

    • Ok… effectivement… merci pour les infos !

    Répondre à ce message

  • 4

    Bonjour,

    Je cherche à personnaliser le mail au destinataires en surchargeant formulaire_IDENTIFIANT_email.html afin d’y ajouter le texte personnalisé de l’accusé de réception.
    J’ai essayé :
    -  comme dans notifications/formulaire_accuse.html mais mail vide

    [(#ENV*{message_retour}|propre)]


    -  la fonction affiche_resume_reponse mais les labels sur 2 niveaux ( listex de choix : select ou checkbox) ne sont pas traités

    [(#ID_FORMULAIRES_REPONSE|affiche_resume_reponse{#ID_FORMULAIRE,[(#ENV*{traitements}|table_valeur{email}|table_valeur{texte_accuse})]})]


    -  et la fonction formidable_raccourcis_arobases_2_valeurs_champs mais comme la précédente les labels sur 2 niveaux ne sont pas traités

    [(#ENV*{traitements}|table_valeur{email}|table_valeur{texte_accuse}|formidable_raccourcis_arobases_2_valeurs_champs{#ENV*{saisies},true,''}|propre)]

    Je ne sais pas si j’ai été très clair dans ma question...
    Mais un peu d’aide serait bienvenue.

    Merci d’avance

    • Pour l’accueil quand ça construit message_retour, c’est FALSE en troisième argument de ormidable_raccourcis_arobases_2_valeurs_champs()

      Pour l’accusé tu as bien les « labels à 2 niveaux » (je ne sais pas ce que ça veut dire) et c’est que pour ton essai que ça marche pas ? Ou bien c’est tout le temps pour cette fonction et donc que tu fais est bon et faut corriger un truc de toute façon (et dans ce cas faire un ticket) ?

    • J’ai fais le test avec un formulaire simple avec une seule liste déroulante :
      @selection_1@
      choix1|Un
      choix2|Deux
      choix3|Trois
      et un destinataire pour l’AR.

      J’ai personnalisé le retour en indiquant dans texte_accuse : test email : @selection_1@
      et j’ai copié notifications/formulaire_accuse.html du plugin dans formulaire_test_accuse.html et formulaire_test_email.html.
      Retour :
      formulaire_test_accuse.html me renvoi la valeur : test email : Un OK
      formulaire_test_email ne renvoi rien.

      C’est donc un bug à mon avis que je pensais contourner en utilisant directement les fonctions affiche_resume reponse ou formidable_raccourcis_arobases_2_valeurs_champs mais je ne suis arrivé à rien de concluant.

      merci

    • Ça n’a aucun rapport avec ma question, puisque je parlais spécifiquement de ton utilisation de ormidable_raccourcis_arobases_2_valeurs_champs(), que tu n’utilises donc pas dans ton dernier test. C’est cette fonction qui fait les remplacements, c’est à toi de l’utiliser. Et donc je demandais si elle faisait ce qu’il fallait.

      #ENV*message_retour c’est pas une valeur qui arrive comme ça, c’est construit en amont dans le PHP pour l’accusé seulement. Donc tenter de le réutiliser dans l’autre (le squelette pour les destinataires principaux) alors que cette variable n’existe pas ne va rien donner, forcément.

      Mais peut-être qu’il faudrait plus simplement ajouter une config d’un texte d’intro personnalisé, dédié aux destinataires, tout comme il y en a un pour l’accusé.

    • Bon ba de répondre à côté, ça m’a permis de comprendre le problème que tu avais bien identifié dans ta première réponse...

      La fonction formidable_raccourcis_arobases_2_valeurs_champs() a besoin d’une chaîne vide en 3e argument ou pas de 3e argument du tout : et j’avais mis false qui était considéré comme true...

      Merci pour l’aide.

    Répondre à ce message

  • 7

    Bonjour,
    sur des formulaires existants et intégrés, quand je re-« Configure les champs », une fois ma modif faite, quand je clique sur « enregistrer » en bas, j’ai le message d’erreur en PJ et ma modification n’est pas prise en compte, je dois refaire une 2e fois la même manipulation pour que cela soit accepté (vert). Je ne trouve pas cela très normal : quel en serait la source ?
    merci !

    • Hum,

      quelles version du plugin formidable / du plugin saisies ? C’est un bug que je n’ai normalement corrigé, mais apparement il persiste chez certaines personnes.

      Reproduit tu le bug après avoir vidée entièrement tmp/sessions ?

    • J’ai reproduit le bug en vidant entièrement tmp/sessions avec Formidable 4.5.2 et saisies pour formulaires 3.42.1 au moment du bug, mais je vois une nouvelle mise à jour de ce dernier en 3.42.2,faite, je vide le cache et tmp/sessions et le bug est toujours présent malheureusement. Un log à fournir ?

    • non, malheureusement pas de log directement à fournir, car j’ai pas encore placé de log.

      Par contre je veux bien que tu me décrive précisement chaque étape. Et que tu tu m’envoie un export yaml du formulaire.

    • yaml et vidéo écran en message privé. merci d’avance.

    • Merci pour l’envoi.

      Peux tu tester en installant manuellement cette version du plugin https://git.spip.net/spip-contrib-extensions/formidable/archive/bug_prx.zip

      cela devrait résoudre le problème. Si tel est le cas, je publierai dans la foulée.

    • Merci Maïeul, cela marche bien à présent , super ! Voici l’écran après enregistrement

    • Cool, je publie donc !

    Répondre à ce message

  • 2

    Hello

    On me demande construire un formulaire un peu spécial.
    L’idée est que l’utilisateur remplit un premier champ et dès que ce champ est rempli les autres champs se remplissent automatiquement à partir d’un tableau CSV (si la première valeur est trouvée dans le tableau, bien sur).

    Ensuite il modifie les valeurs inexactes ou pas, il indique s’il a fait des modifs et il valide.

    Le but est de faire vérifier des infos de contact.

    Possible ou pas ? Le problème est de récupérer la valeur par défaut dans le fichier CSV.

    • Bonjour Jean Christophe.

      Oui, c’est possible, en passant par une saisie input personnalisée qui peuplerait les champs voisins avec un bout de javascript.
      Tu as un exemple fonctionnel dans le plugin FFE data, qui récupère les infos depuis un webservice pour faciliter l’inscription.
      Dans ton cas, il faut adapter pour boucler sur le CSV. Et la saisie suppose également que les champs voisins aient un nom attendu.

      Enfin, pour que la saisie perso soit manipulable depuis formidable, il faut créer un fichier .yaml de description dans le même dossier que la saisie.

    • Merci pour la réponse et pour cette piste de travail. On va regarder ça de près avec ma collègue plus à l’aise avec php que moi (ce qui est facile ;-) ).

    Répondre à ce message

  • 3

    Bonjour,
    Je suis en train de configurer un question/sondage en utilisant le plugin.

    Je n’arrive pas à mettre un affichage conditionnel sur un groupe sur la première question et du coup je préfère poster ma question.
    la conf est la suivante :

    @fieldset_1@
        Question 1
    
    @oui_non_1@
        Avez été contraint de travailler à votre domicile
    
    @checkbox_1@
        Si Oui pouvez-vous préciser ?
    
    Liste des choix possibles
    
        choix1|toute la durée du confinement
        choix2|une partie seulement
    
    Sur @checkbox_1@ j'ai mis dans l'onglet affichage :
    @oui_non_1@=="Oui"

    et par défaut le @oui_non_1@ est positionné à « oui », d’ailleurs qu’ils soit positionné à ou ou non cela ne change rien et que je mette « Oui » ou « oui » dans la condition ne change rien.
    Faut-’il configurer autre chose dans la zone privé du plugin. Pour info je suis sous SPIP 3.2.7
    Merci

    • La saisie oui_non produit « on » ou «  » (chaine vide) comme vraie valeure ,c’est évidement pas le label humain qu’on teste (et qui peut changer suivant les langues), comme pour n’importe quelle autre saisie, on teste la vraie valeur technique.

      Mais cela dit, je ne vois même pas comment tu peux avoir la saisie oui_non alors qu’elle est dépréciée et n’est plus proposée.

    • Quelle version de formidabel et de saisies ? la saisie oui_non est obsolète, il lui faut préferer des saisies avec des textes explicites, pour des questions d’accessibilité. Du type « oui j’ai été contraint » et « Non je n’ai pas été contraint »

      Ensuite j’imagine que vous parliez bien de l’onglet « affichage selon un champ » ?

      Enfin, même si vous gardez oui/non (ce que je déconseille) il se trouve que la valeur a testé est un peu piégeuse. Il faut tester @oui_non_1@=='on'

    • Merci
      effectivement passer avec un contrôle du champs par « on » ou «  » marche parfaitement.
      Bonne journée à vous

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

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