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

812 discussions

  • 2

    Je viens de constater une problème handicapant : quand je clique sur « Configurer le formulaire », ce qui est censé ouvrir l’url /ecrire/ ?exec=formulaire_edit&id_formulaire=24&configurer=formulaire, une surfenêtre s’affiche avec le message

    Vous avez choisi d'ouvrir :
    qui est un fichier de type : application/x-httpd-php (0 octets)
    à partir de : https://monsite.tld
    Que doit faire Firefox avec ce fichier

    J’utilise beaucoup de plugins :
    Formidable 4..2.3
    Formulaires de paiement 1.2.3
    Banque et paiement 4.3.4
    Saisies pour formulaire 3.36.2
    SPIP 3.2.7 [24473]
    Ubuntu avec version php 7.1.29 et MySQL 5.5.62. Je peux passer php en 7.2 si besoin.

    J’ai essayé sur plusieurs navigateurs, j’ai essayé en saisissant la bonne url, etc.. J’ai vidé le cache, désactivé/réactivé les plugins, réinstallé formidable, mais rien n’y fait

    Je ne sais pas précisément quand est survenu le problème car je n’ai aucune raison d’aller modifier un formulaire qui fonctionne. Mes formulaires fonctionnent bien mais j’ai besoin d’en modifier un et suis coincé.

    Avez-vous une piste ?

    • Je ne reproduis pas. Il ne s’agirait pas plutôt d’un problème de ton hébergement ? Est-ce que tu as la même chose sur un site en local ? Et surtout avec uniquement les plugins nécessaires pour tester sans rien d’autre.

    • Merci pour la réponse.
      C’est la seule url sur ce site SPIP qui pose problème. J’avais déjà vu ça une fois ou deux il y a super longtemps et ça avait disparu comme c’était apparu.
      Sur le serveur il y a d’autres sites en spip ou autres mais aucun ne pose problème. J’hésite à passer le php en 7.2 pour voir si ça règle le problème car la dernière fois que j’avais tenté la 7.2 SPIP clignotait de partout.
      Dès que j’ai 2 ou 3 heures, je duplique pour pouvoir faire des tests dans tous les sens. Je suis déjà en train de faire d’autres tests sur mon environnement de dév.

    Répondre à ce message

  • 7

    Bonjour

    Je rencontre un souci avec un formulaire. Pour la partie traitement, j’ai coché « modifiable » et « id_auteur » comme méthode d’authentification :

    traitements:
      enregistrement: { 
         moderation: posteriori, multiple: '', modifiable: on, effacement: '', effacement_delai: '', identification: id_auteur, variable_php: '', unicite: '', message_erreur_unicite: '', anonymiser: '', ip: '', invalider: on, resume_reponse: '', analyse_exclure_champs: '' }

    et pourtant, certaines personnes ne retrouvent pas leurs réponses lorsqu’ils reviennent sur la page.

    Quelle pourrait en être la cause ?

    Merci de votre aide

    • Si les personnes ne sont pas connectées, elles ne peuvent pas trtrouver effectivement. C’est précisment l’interet de la méthode par cookies de permettre de revenir sur la page.

      Il faudrait plus de contexte.

      Mais comme je disais sur un ticket, à mon avis il faudrait proposer un autre système de modif de formulaire.

      Je t’invite à poster ici https://git.spip.net/spip-contrib-extensions/formidable/issues/6 tes éventuelles réflexions sur les besoins en terme de modification de formulaire.

    • En effet, j’ai oublié de préciser le contexte.

      Il y a une authentification BASIC faite sur le serveur Apache. Les gens qui accèdent à la page sont donc bien identifiés.

      Dans les réponses au formulaire, j’ai bien un id_auteur non nul pour chaque réponse :

      id_formulaires_reponse id_formulaire date id_auteur cookie statut maj
      2978 22 2020-04-22 20:19:31 85 1895457005ea08ab358acd6.80513477 publie 2020-04-22 20:19:31
      2869 22 2020-04-21 20:15:15 85 15059760815e9f38336e0f06.95112002 publie 2020-04-27 14:50:15
      2997 22 2020-04-24 14:17:46 90 5084607325ea2d8eae3e609.20276163 publie 2020-04-24 14:18:39
      2936 22 2020-04-22 12:45:34 90 20943758845ea0204e7baa91.67317318 publie 2020-04-27 14:51:12
      2937 22 2020-04-22 12:45:37 90 13240001215ea020518c33a9.88813610 publie 2020-04-27 14:51:16
      2980 22 2020-04-22 23:41:06 146 9125659695ea0b9f28001c7.70077820 publie 2020-04-22 23:41:06
      2838 22 2020-04-21 18:24:25 146 16077315065e9f1e3952d697.08847832 publie 2020-04-27 14:52:04
      2996 22 2020-04-24 14:14:12 185 19344344165ea2d814805811.61659040 publie 2020-04-24 14:14:12
      2893 22 2020-04-22 08:06:12 185 18001428435e9fded43d04d5.82023248 publie 2020-04-27 14:52:41
      2843 22 2020-04-21 18:33:57 1117 1340426165e9f20759a4ce2.40291134 publie 2020-04-21 18:33:57
      2699 22 2020-04-20 19:00:15 1117 17366461345e6f7a5261c7b5.33523604 publie 2020-04-27 14:52:52
      2941 22 2020-04-22 13:12:45 1346 4067873165ea026ad881d84.01839630 publie 2020-04-22 13:12:45
      2940 22 2020-04-22 13:12:42 1346 6309738135ea026aa2b0924.98738113 publie 2020-04-27 14:53:18
      2950 22 2020-04-22 14:31:57 1443 6376937585ea0393d89b2c2.04816316 publie 2020-04-22 14:32:05
      2949 22 2020-04-22 14:31:51 1443 2446928545ea0393766eac8.70269727 publie 2020-04-27 14:53:49
      2951 22 2020-04-22 14:39:06 1482 14632554215ea03aea20abf7.53478682 publie 2020-04-22 14:40:32
      2889 22 2020-04-22 01:13:19 1482 4140442105e9f7e0f471119.91679153 publie 2020-04-27 14:54:35

      Ce qui est étrange, c’est que pour ce formulaire, on a eu 220 réponses, et seules 9 personnes ont été concernées par le problème. Les autres ont pu modifier leurs réponses.

      Ce n’est pas la première fois que j’utilise cette fonctionnalité, mais c’est la première fois que je rencontre le problème.

      Je note aussi l’URL à laquelle faire remonter mes suggestions

    • Hum, difficile dire, surtout si cela n’arrive qu’à certaines personnes.

      Cela étant je vois que pour un même formulaire, plusieurs personnes sont identifiés. Est-ce que cela ne serait pas là le problème ?

    • Je pense que c’est l’inverse : la réponse n’a pas été trouvée, alors la personne a pu enregistrer une 2e réponse... Mais pourquoi, alors que la personne est bien identifiée (même id_auteur) formidable n’a pas réussi à reconnecter l’auteur à sa réponse ?

      Je sais malheureusement que les problèmes intermittents sont les plus difficiles à débuguer...

      J’espérais qu’il y aurait un élément flagrant dans ma config qui aurait fait tilt chez les développeurs.

    • Malheureusement là je vois pas, surtout vu le coté intermittent.

      COmment appel tu le formulaire ?

      est tu sur qu’on a bien une session pour l’auteur et que le pb se situe pas en amont ? Comment se passe le lien authtenification BASIC / Authentification SPIP

      (tout ce joue dans la fonction formidable_verifier_reponse_formulaire() et dans formidable_trouver_reponse_a_editer de inc/formidable.php

    • J’ai un modèle formidable_avec_identification.html qui contient :

      [(#SESSION{id_auteur}|non)#FORCE_AUTH]
      [(#SET{email, [(#SESSION{email}|strtolower)]})]
      
      #FORMULAIRE_FORMIDABLE{#ENV{id}, #ARRAY{#ENV{email}, #GET{email}, #ENV{nom}, #SESSION{nom}}}

      Cela m’appelle le formulaire avec les champs nom et email de préremplis (et en lecture seule pour les utilisateurs).

      Ma balise #FORCE_AUTH permet de forcer l’identification SPIP avec ce qu’il y a dans les variables PHP :

      function balise_FORCE_AUTH_dyn($static) {
              if (isset($GLOBALS['auteur_session']['id_auteur']))
                      return;
      
              $auth = charger_fonction('auth', 'inc');
              $save = $GLOBALS['meta']["ldap_statut_import"];
      
              $res = $auth();
              verifier_session(true);
              
              $GLOBALS['meta']["ldap_statut_import"] = $save;
      }

      J’ai eu besoin de mettre en place cette balise pour que les personnes identifiées via le BASIC d’Apache aient la balise #SESSION remplie sans avoir à passer par l’interface privée.

      Les personnes qui ont eu le problème ont les champs noms et email de remplis. Comme ces champs sont en lecture seule et qu’ils sont remplis via le contenu de #SESSION, cela tend à prouver qu’ils sont bien identifiés dans spip ?

    • mouais,
      je sais pas trop. Dur à dire. Ca donne quoi surtout au niveau de #SESSIONid_auteur en fait. C’est ca la question.

    Répondre à ce message

  • 2

    Bonjour, je suis directeur d’école et je viens de créer mon premier formulaire (donc N° 1) pour réaliser une enquête de rentrée de déconfinement auprès des parents.
    Je l’ai tout paramétré et je l’ai appelé « Déconfinement » , Id « 1105 » (voir la photo jointe).
    J’aimerais le faire apparaître à l’écran ; en lisant l’aide sur la page https://contrib.spip.net/Formidable-le-generateur-de-formulaires, il me semble avoir compris qu’il faut l’appeler dans le corps d’un article (mais peut-être qu’en fait je n’ai rien compris !).
    J’ai donc créé un article dans le corps duquel j’ai inséré : baliseformulaire|Déconfinement|id=1105/balise (j’ai écrit balise car si je mets les < > ici, ce qui est entre les deux ne s’affiche pas) , mais malheureusement, lorsque j’enregistre mon article, rien n’apparaît.
    Alors peut-être que je dis et fais des bêtises, c’est pourquoi je viens solliciter un peu d’aide de la part de quelqu’un qui maîtrise le sujet.
    Merci beaucoup par avance pour votre réponse !
    J-J

    • Hello,
      le modèle que tu indiques mettre dans ton article n’a rien à voir avec ce qui est décrit dans la documentation plus haut.

      Tu dois copier ce que dit la doc, et mettre en argument « id » soit l’identifiant numérique SQL (1) soit l’identifiant humain textuel (que tu as mis « 1105 »). Sauf que tu ne peux pas utiliser 1105 parce que c’est un nombre, et que quand c’est uniquement un nombre ça cherche un formulaire suivant l’identifiant SQL. Il faut plutôt mettre « deconfinement » ou « deconfinement1105 » comme identifiant textuel.

      Pour écrire du code dans les textes, il faut utiliser la syntaxe de code (il y a un bouton pour ça dans la barre du champ) :

      <formulaire|formidable|id=1>
      <formulaire|formidable|id=deconfinement>
    • RE,
      un grand merci pour ton aide (très rapide) qui m’a permis d’y arriver.
      Le formulaire est fonctionnel et en page d’accueil du site.
      J’ai compris les explications, du coup, il me semble que pour aider un profane comme moi, ça serait peut-être bien d’indiquer qu’il faut absolument écrire « formidable » en titre (car j’ai cru que c’était le titre donné au formulaire dans l’exemple), et pour la même raison, expliquer qu’il ne faut pas que des chiffres dans l’identifiant (il ne me semble pas avoir vu une explication là-dessus, ou alors je l’ai loupée).
      Encore merci et bravo pour ce plugin aux multiples possibilités !
      J-J

    Répondre à ce message

  • 1

    Bonjour,

    Merci pour ce plugin.

    J’ai fait un fomulaire de contact pour un site. SPIP 3.2. et Formidable 4.2.3.
    Au niveau de la saisie du courriel de la personne qui contact, en mettant : monmail@monsite, le mail part alors que j’ai mis le type de vérification à mail et le mode à « Vérification la plus conforme aux standards disponibles ». De plus, le mail est obligatoire.

    Une piste pour que la vérification soit effective ?

    Merci d’avance pour toute aide.

    Gilles L.

    • Il n’y a aucun problème, la vérification est parfaitement correcte, c’est celle là qui est la plus correspondant aux standards RFC officiels.

      Un nom de domaine n’a pas du tout forcément d’extension. Par exemple si tu es dans un réseau d’entreprise, un intranet (et on peut parfaitement faire un SPIP dans un intranet), les adresses en interne peuvent parfaitement être « robert@notresuperintranet », « jean-michel@localhost »…

    Répondre à ce message

  • 6

    bonjour à tous,

    je tenais à vous féliciter pour les modules extras que je découvre encore après tant d’années.

    Je suggérais une forme de remplissage d’’options spéciale pour donner à l’utilisateur le choix de plusieurs offres, chaque offre étant dans un article par ex. (le navigateur d’articles ne répond pas à la question)

    et je suggérai une écriture possible du style , pour Liste des choix possibles d’un bouton radio par ex :

    choix408|[->art408]
    choix406|[->art406]
    choix222|[->art222]

    évidemment le titre de l’article désigné s’affiche devant le bouton radio.
    à moins que cela existe déjà mais cela ne s’écrit pas ainsi ? Merci d’avance !

    • c’est bien déjà le cas et avec déjà cette écriture là pour les boutons radios non ?

    • Oui sauf que dans l’exemple,

      choix408|[->art408]

      n’affiche ni le titre de ni le lien vers l’article 408

    • Effectivement les textes « simple ligne » comme ça (label, explication, etc), ne passent jamais dans propre() qui gère la syntaxe légère de SPIP, et c’est voulu car c’est tout ou rien. Si on l’accepte c’est tout, or la syntaxe de SPIP permet de générer plein de choses, y compris des éléments de type « blocs », qui n’ont rien à faire à l’intérieur d’un label, d’un span, etc.

    • Au passage, avoir des liens sans les contrôler vraiment en détail dans des éléments de formulaire, c’est très dangereux car si les gens cliquent, ça change de page et ils perdent tout ce qu’ils avaient commencé à remplir.

    • Je vais dans le sens de Rastapopoulos. Ouvrir l’inteprétation des raccourcis dans les arguments seraient la boîte de pandore, avec des conséquences difficile à imaginer.

      Ce que je conseillerait en revanche, pour un besoin particulier, serait que vous créeiez votre propre saisie, capable de lister des articles en radio, en mettant aussi des liens (ouvrant vers une nouvelle fenete, cf la dernière remarque de Rastapopoulos)

    • Bonjour à tous,

      merci bien , j’avoue que vous avez raison : les gens vont se perdre à cliquer et aller ailleurs, c’était juste une suggestion mais pas adaptée c’est un fait.

      J’ai fait une brève qui donne un lien vers un mot clé qui regroupe la liste des articles, et la breve appelle en dessous un formulaire formidable avec des radios au titre fixe" (copie coller des titres des articles) avec un paiement Bank vers Slide (merci à vous) : une vraie merveille ! Comme cela, une fois parti dans le formulaire, on y reste.
      bonne journée !

    Répondre à ce message

  • 5

    Bonjour
    depuis aujourd’hui (au moins), les personnes qui envoient un formulaire recoivent ce message d’erreur :
    Fatal error : Call to undefined function saisies_lister_par_etapes() in /apps/web/crbpo/site/plugins/auto/formidable/v4.2.3/formulaires/formidable.php on line 226

    Cordialement

    • merci beaucoup
      fait et ca marche

    • I love SPIP

      Bonjour,

      La surcharge formulaire_4_accuse.html fonctionne pour le formulaire ID 4
      En revanche pas celle formulaire_4_email.html

      elles sont toutes les deux dans squelettes/notifcations
      formulaire_4_accuse.html
      formulaire_4_email.html

      Qu’est-ce que je fais mal ?

      Avec mes remerciements,

    • Ben déjà ce que t’as fait mal, c’est de faire une nouvelle question en réponse à un fil existant. :D

      Sinon je vois pas comment ça peut marcher déjà pour le premier, vu que c’est l’identifiant que tu dois utiliser, pas l’ID SQL.

    • I love SPIP

      Toutes mes excuses pour le poste au mauvais endroit. J’ai pas bien l’habitude.
      Merci pour la réponse je n’avais pas saisie la différences entre les identifiants.
      Merci pour tout Rastapopoulos et encore toutes mes excuses.

    Répondre à ce message

  • 2
    MacIndian

    Je viens de faire la migration d’un vieux SPIP de 1.9.2 vers 3.2.
    J’utilisais auparavant Formulaires & Tables.

    J’ai installé Formidable 3.2.7 mais j’obtiens une erreur lorsque j’accède à la page « Configurer les traitements » :
    Fatal error : Call to undefined function saisies_lister_par_() in /plugins/auto/saisies/v4.0.0/inc/saisies_lister.php on line 138

    J’utilise PHP Version 5.4.45

    Cela survient sur un formulaire qui existait déjà et également sur un nouveau formulaire que je viens de créer.
    Je n’ai pas trouvé de publications sur le web au sujet de cette erreur.

    Répondre à ce message

  • 10

    bonjour,
    sur le sujet : « appeler mon formulaire » avec un titre ou pas et son identifiant, j’ai 2 remarques :
    (voir image de l’exemple employé ici de la liste des formulaires de formidable en pj)

    TITRE / PAS TITRE formulaire :
    si on met dans un contenu (article) :
    <form38> (qui n’est pas documenté ici mais hérité de l’ancien plugin certes)
    on obtient le formulaire AVEC son TITRE. (ce qui est pas mal)
    si on met comme c’est documenté :

    <formulaire|formidable|id=40>

    on obtient le formulaire SANS son TITRE (pas terrible à mon goût)

    Identifiant : bug ?
    il est marqué en remarque du titre dans le formulaire de Formidable :« L’identifiant ne peut contenir que des chiffres, lettres latines non accentuées et le caractère « _ » »
    si on met , dans mon exemple : le titre comme affiché sur l’image et que l’on l’appelle
     : cela n’affiche RIEN.
    alors que <form40> fonctionne SI je renomme l’identifiant du formulaire en « form40 ».

    Sans doute de la doc à compléter et une petite màj.
    merci !

    • Il manque un morceau dans ta phrase (tu as dû oublier de mettre la balise code autour) : « que l’on appelle … cela n’affiche rien ». Du coup on ne sait pas ce que tu appelles et qui ne marche pas. :)

    • merci,
      effectivement , on doit lire donc lire le paragraphe :
      Identifiant : bug ?
      il est marqué en remarque du titre dans le formulaire de Formidable :« L’identifiant ne peut contenir que des chiffres, lettres latines non accentuées et le caractère « _ » »

      si on met , dans mon exemple : le titre comme affiché sur l’image et que l’on l’appelle

      <form38_code_colis>

       : cela n’affiche RIEN.
      alors que
      <form40>
      ne fonctionne que SI je renomme l’identifiant du formulaire en « form40 ».
      voilà , merci d’avance.

    • Mais à quel moment as tu pu penser que ça pouvait marcher, où as tu vu un exemple de ce type ? Il veut rien dire ton modèle là. :D

      Là concrètement tu appelles un modèle (donc un nom de squelette) qui serait « form38_code_colis.html ».

      <nomdumodèleNNN|params>

      Par ailleurs les identifiants textuels, donc choisis par les humains, c’est avec le modèle fourni officiel par le plugin, pas le truc de compat avec l’ancien, qui n’utilise que le numéro SQL.

    • bonjour,
      je comprends encore moins c’est quoi ce

      <nomdumodèleNNN|params>

       ? ..., de plus en plus confus.

      Allons-y par question directe à une réponse alors :
      — > comment, dans un article, pour avoir le titre du formulaire, dois-je appeler alors mon formulaire N°40 identifié « form38_code_colis » ?

      merci d’avance.

    • Bah c’est la forme qu’on TOUS les modèles de SPIP, que je sache ça fait longtemps que tu traines sur les forums, tu sais quand même ce que sont les modèles SPIP non ? C’est un peu la base avant d’apprendre l’utilisation des plugins, d’apprendre les choses de base du noyau. :)

      nom du modèle, accolé possiblement à un identifiant numérique (le numéro donné par SQL), et ensuite une barre et un ou plusieurs paramètres.

      Donc clairement <form38_suivi_colis> ne signifie rien du tout, enfin ça signifie que le modèle que tu appelles (le fichier squelette utilisé) est « form38_suivi_coli.html » ce qui n’a aucun sens.

      La documentation du modèle fourni est au dessus, pour insérer c’est <formulaire|formidable|id=ID numérique ou textuel>.

      Pour l’ancien modèle de compat, je le connais pas, mais apparemment c’est juste l’identifiant SQL, donc <form40> à priori.

    • Cher ami,
      depuis que je traine sur les forums, non je n’ai pas pris le temps d’apprendre « les choses de base du noyau » : donne le lien, je veux bien ;
      par contre, j’ai bien appris avec le temps que tu n’as aucune patience et tu ne lis pas les questions. ;-)

      J’ai testé et donc les formulations possibles et réponses à la question dernière sont (correction) :

      <formulaire|formidable|40>. ou <formulaire|formidable|form38_code_colis> 
      ou 
      <formulaire|formidable|id=40>. ou <formulaire|formidable|id=form38_code_colis> 

      donc il n’y a pas de bug sur le « _ », effectivement de cette manière, mais il n’y a toujours pas de TITRE (du formulaire) avec cette méthode ! non ?
      ce qui est la BASE de ma question... (relire le début stp)
      Merci cher ami de te pencher dessus STP, c’est parce que il y a des ch .... comme moi que tu progresses. ;-)

    • J’ai aucune patience alors que je donne les explications de comment marchent TOUS les modèles (ce qui est la toute première chose à apprendre avant de demander comment marche tel modèle précis de tel plugin). J’ai plutôt l’impression que c’est toi qui n’a pas la patience d’apprendre les choses de base de SPIP seul avant d’apprendre les plugins, et que tu veux juste un truc copier-coller sans comprendre.

      Tous les modèles du monde de SPIP fonctionnent de la même manière, je le répète, nom du modèle, puis numéro SQL si besoin, puis barre, puis paramètres optionnels.

      Et en plus j’ai parfaitement déjà répondu à ta question dans le com précédent, relis la dernière phrase sur le modèle « form » de compatibilité avec l’ancien plugin F&T. Lui il marche à priori uniquement avec l’identifiant SQL de ce que j’ai compris donc <form40> (déjà dit).

    • et le TITRE du formulaire : on l’affiche comment ? ?? (tu veux une image ? )

    • Mais t’as dit toi-même depuis le tout départ qu’avec le modèle « form » ça affichait avec le titre…

    • @PRX38
      Je me glisse dans cette discussion simplement pour dire que je suis admiratif de la patience dont fait preuve Rastapopoulous...
      Peut-être pourriez-vous profiter de ce temps de confinement pour consulter la documentation sur les modèles
      https://www.spip.net/fr_article3454.html
      et, ensuite, faire des essais de personnalisation du modèle fourni par formidable pour obtenir le résultat souhaité si le comportement « de base » ne correspond pas tout à fait à vos besoins (ce qui est parfaitement entendable)

    Répondre à ce message

  • 4

    Bonsoir,
    J’ai une erreur sporadique lorsque je fais un ?var_mode=recalcul sur une page ou il y a un formulaire :

    Saisies pour formulaires 4.0.0 - stable
    
    1 Erreur(s) dans le squelette
    Filtre saisies_lister_par_etapes non défini	
    plugins/auto/formidable/v4.2.3/formulaires/formidable.html

    j’ai mis à jour les plugins, je ne sais pas si c’est lié..

    merci

    • Juste pour dire que j’ai aussi ce message sur un spip 3.2.7 tout neuf.

    • Bonjour,

      J’ai aussi le problème.

      Je regarde si je trouve la solution.

      Cdt.

    • Oki,
      il y a eu lors du passage au niveau système de génération des paquets la création d’un paquet pour une version 4.0.0 qui a brièvement existait en 2018 pendant 1 journée.

      Je viens de supprimer le tag distant. On va esperer que le nouveau système de generation de paquet pourra voir cela.

      Il faudra supprimer cette version 4.0.0, et réinstaller la dernière version officielle 3.36.2.

    • Le passage à saisies 3.36.2 au lieu de la v 4.00 a réglé le souci pour moi.
      Merci !

    Répondre à ce message

  • 2

    Bonjour,
    je sens que ma question va être basique, mais je ne trouve pas la réponse.
    J’ai fait mon premier formulaire en spip 3.2.7 tout neuf et qui n’a rien d’autre que le formulaire.
    Un truc classique, nom, prénom, mail, menu déroulant à base de mots clé et description.
    J’ai configuré le formulaire, mais dans « configurer les traitements », rien n’apparaît, je soupçonne mon souci de venir de là.
    Du coup, je le fais apparaître sur une page d’article avec

    <?php include_once("/opt/nursit/sys/home/nursit/matrice/public/4.2/07/spip/ecrire/balise/formulaire_.php"); if ($lang_select = "fr") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_FORMULAIRE__dyn(arguments_balise_dyn_depuis_modele('FORMULAIRE_FORMIDABLE'), '1'), array('', '', '', '', 'fr', '1')); if ($lang_select) lang_select(); ?>

    et quand je le remplis, il ne se passe rien, redirection vers page blanche ./spip.php ?article1#formulaire_formidable-1#formulaire_formidable-1
    Une idée de ce que cela peut être ?

    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