Formidable, le générateur de formulaires

Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs.

Introduction

L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient déjà été développés précédemment pour remplir cette fonction :

  • Forms &Tables, qui n’a pas été complètement porté pour SPIP 2.
  • et spip-formulaire créé par artego mais qui n’est 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éveloppeurs.

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éveloppeurs.
    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.

Installation

Le plugin nécessite les plugins suivants :

Il faut installer le plugin jQuery UI pour pouvoir déplacer les champs à la souris pendant la création d’un formulaire.

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 depuis un squelette

À noter que dans un squelette, 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.

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}}

Pré remplir les champs depuis une ancienne réponse

Si les réponses sont enregistrées, on peut passer en troisième argument un identifiant de réponse.

#FORMULAIRE_FORMIDABLE{contact,'',23}

pour modifier la réponse 23.

Champs oui-non et case unique

Pour rendre obligatoire la réponse « oui » à un champ de type oui-non ou 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.

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

626 discussions

  • 4

    Bonjour,

    ou puis-je récupérer les anciennes version ?
    Je souhaiterais récupérer la version antérieure, car celle ci me plante un site après la mise à jour (erreur php).

    Merci

    • Ben ça dépend de quelle version tu parles. Si c’est une version bien précise sur la même branche que pour SPIP 3, il faut le récupérer par SVN en indiquant jusqu’à quelle révision. Ou bien sur le Trac, il y a un truc pour télécharger à tel moment une fois qu’on est sur une révision (je ne sais plus l’astuce de tête mais il y a un paramètre pour ça).

      Sinon ya bien les ZIP de toutes les branches qui sont générées, donc y compris la branche 2 qui était aussi pour SPIP 3 :
      https://plugins.spip.net/formidable

    • Merci pour ta réponse.

      En effet j’aurais souhaité récupérer sur la même branche une version antérieure.
      La 3.15.0.

      Je viens à l’instant de la trouver dans un backup.

    • par contre il serait bon de préciser ce qui te plante, comment, pourquoi, quelle version de PHP, etc.

      Sinon d’autres auront le même problème...

    • Ça serait un avantage d’avoir de vrais tags de version en Git…

    Répondre à ce message

  • 1

    bonjour ,

    je souhaite mettre un lien vers une page du site dans une description , ou dans label ou dans explication d’un champ du formulaire, (comme par exemple pour les mentions légales ou politique de confidentialité acceptées, Rgpd, etc)

    Je n’ai pas trouvé comment ni où . J’ai essayé sans succès le classique

    [->artxx]

    merci !

    • Dans les champs d’une ligne, c’est comme les titres dans les contenus SPIP, c’est pas prévu de faire passer « propre() » dessus, pour compiler tous les raccourcis.

      En revanche dans la saisie « explication », là t’as un texte long, textarea, et celui là il passe dans « propre() ».

    Répondre à ce message

  • 4

    Bonjour,
    J’ai déménagé un site d’un hébergeur à un autre et depuis je n’arrive plus à recevoir les mails provenant du formulaire. J’ai essayé de faire les mises à jour des plugins saisies et formidable, mais je n’ai toujours pas de réception du mail.
    Le formulaire me dit pourtant que le mail est bien envoyé et j’ai essayé avec différentes adresses mails.
    D’où pourrait venir le problème ?

    Merci d’avance

    • Il faut voir aec Facteur, la configuration de comment se font les envois sur ton nouvel hébergement, le SMTP, etc. Ce plugin ne s’occupe de rien du tout à priori.

    • Merci de ta réponse,

      Alors j’ai testé le plugin facteur depuis le back office avec la fonction « tester la configuration » et je reçois bien un mail.
      Par contre depuis mon formulaire formidable lorsque je fais l’envoi j’ai le message « votre message a bien été envoyé » mais je ne reçois rien. Je peux également enregistrer les résultats du formulaire en bdd sans problème.
      On dirait bien que facteur fonctionne et que le serveur est ok, d’où pourrait venir le problème alors ?

      Merci

    • Il faudrait voir les logs de facteurs pour savoir s’il a bien recu le mail et transmis.
      Est-ce que l’expediteur a son domaine correspondant à celui du site ? Certains serveurs SMTP bloquent dans le cas contraire.

    • Merci,
      Je viens d’effectuer l’essai avec une adresse avec le même nom de domaine mais ça ne change rien.
      Pourtant il semble que ce soit facteur qui gère l’envoi du mail de formidable donc ça doit être les mêmes logs non ?
      J’utilise les dernières versions des plugins.

      Merci encore

    Répondre à ce message

  • 9

    Je ne sais pas pourquoi mais depuis la dernière mise à jour de Formidable (autour du 21/11/2018) un de mes formulaires en ligne ne fonctionnait plus correctement : les réponses étaient bien enregistrées en base mais lorsque qu’un répondant cliquait « valider » une page blanche s’affichait et les mails vers les destinataires ne partaient pas.

    J’ai du supprimer certains champs pour réparer : un champ « case à cocher » et un champ « hidden » avec une valeur X qui servait, avec un critère, à ne pas afficher ce champ « case à cocher » qui était obligatoire et pré-rempli.
    (tout l’objet de mon formulaire est l’inscription à à une newsletter en fournissant ses noms et prénoms, mail pour un projet précis).

    Mais bon je n’arrive pas à faire fonctionner l’inscription à la newsletter via formidable de toute manière (cf https://contrib.spip.net/Mailsubscribers#forum498438)

    Répondre à ce message

  • 9

    Bonjour à tous,

    J’essaie de surcharger formidable.html en y ajoutant un champs particulier à l’emplacement dédié. En testant avec l’exemple simple ci-dessous, le champs s’affiche bien sur la page, mais il n’est pas traité.

    [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
    #SAISIEinput, nom, label=Votre nom, obligatoire=oui

    Faut-il déclarer ce nouveau champs quelque part ? Ai-je oublié quelque chose ? Merci en tout cas de m’éclairer à ce sujet.

    • Il vaut mieux que tu expliques ce que tu cherches à faire.

      Le HTML d’un formulaire CVT c’est juste ce qui sera affiché à l’écran, pas du tout ce qui est reconnu par le formulaire. Pour ça il faut que le champ soit pris en compte dans la fonction charger(), dans la fonction verifier() et dans la fonction traiter()…

      De toute façon, le formulaire de Formidable sont gérés entièrement avec les saisies, donc si un champ doit être ajoutés c’est plutôt en s’insérant dans un pipeline et en ajoutant la saisie avec l’API qui permet de manipuler les saisies.

    • Merci pour ta réponse. Je pensais avoir trouvé un moyen simple d’ajouter une étape (le champs en question) à un formulaire formidable en utilisant les onglets bootstrap jQuery (bouton suivant sur le premier onglet, bouton valider sur le deuxième). Ceci après avoir tenter de trouver sans succès, une solution avec formidable et le formulaire CVT en plusieurs pages... Si tu as même une piste, je suis preneur ;)

    • Ajouter la fonctionnalité d’étapes c’est un truc qui est dans la todolist depuis le début, mais il y a pas mal de choses à faire. C’est plutôt dans Saisies que ça doit être intégré, en utilisant la foncitonnalité « cvt par étape » (par exemple en permettant de dire que les groupes à la racine serait des étapes, avec une option).

    • J’ai vu la todolist... Je recherche dans la voie que tu m’indiques et ne manquerait pas d’en faire part ici en cas de succès. Merci en tout cas Rasta, pour ton engagement. A bientôt.

    • Bonjour à tous,
      Finalement, je m’en suis sorti assez facilement en injectant le code HTML à l’aide de champs « explication », soit les balises des onglets bootstrap. J’obtiens ainsi un joli formulaire, coupé en deux onglets à l’endroit que je souhaite (reste à régler le focus sur l’onglet contenant des champs obligatoires et non renseignés).
      Vraiment formidable ;)

    • Hello,

      Ceci après avoir tenter de trouver une solution avec formidable et le formulaire CVT en plusieurs pages

      Il y a t-il eu depuis des évolutions à ce propos ?

      Cheers

    • non pas à ma connaissance

    • Ok. Merci pour ce retour (très) rapide.

      Pour info, je vais faire un formulaire ad-hoc avec ST (Saisies + Traitements) plutôt que CVT. (voir https://contrib.spip.net/Un-formulaire-C-V-T-avec-Saisies-par-l-exemple)

      C’est un peu plus rapide à faire qu’un CVT et surtout beaucoup plus facile à maintenir.

    • Comment ça « plutôt que CVT » ? Ça utilise CVT pareil, c’est juste une surcouche de plus haut niveau.

      Sinon pour le multi étapes, on en a parlé la semaine dernière avec Nico, parce qu’il va en avoir besoin dans deux mois je crois. Et du coup je lui ai dis que c’était dans la todo depuis le tout début et j’ai expliqué comment je voyais la conception depuis le départ (càd une option de saisies pour transformer les groupes de champs racines en étapes).

      Si j’ai le temps j’aimerais bien faire la partie API dans Saisies d’ici la fin de l’année, et comme ça yorait plus qu’à réfléchir à comment y donner accès dans Formidable ensuite.

    Répondre à ce message

  • 8

    Bonjour,
    je poste ici (aussi) car ne sais pas où ma question sera le mieux vue... mais je suis bloquée...

    je veux assigner une variable dynamique à mon champ hidden_1, cette variable est issue d’un javascript qui est dans la page (la variable s’appelle textetotal)

    Quelle syntaxe à la place de #ID_DOCUMENT dans #FORMULAIRE_FORMIDABLE{contact, #ARRAY{hidden_1, #ID_DOCUMENT}}
     ?

    J’ai cherché partout, je ne trouve pas. Mon javascript est tout simple, je veux juste entrer UNE variable !

    Merci de votre aide, c’est frustrant, c’est la dernière étape avant de finaliser la mise en forme !

    Zab

    • je dirais que ce n’est pas possible, a priori, car la variable est passé au formulaire lors de la construction de la page côté servrur, alors que le javascript est interprét coté client.

      La seule solution que je verrais est de créer une saisie personnalisé qui réagit au js.

    • et si au moment de la validation du formulaire, je lui demande de modifier la valeur d’un champ ? ou d’ajouter cette variable à envoyer ?

    • merci d’avoir répondu en tous cas.

      en fait, dans une version antérieure, c’est bien ce que je faisais : j’appelais une page qui effectuait des calculs à partir de la page appelante, et qui, en même temps, affichait un formulaire, lequel reprenait dans un champ le résultat de ce calcul. J’envoyais le tout par mail grâce à un script php, sauf que je n’arrive plus à le faire marcher. D’où mon recours à Formidable. Pourquoi formidable ne pourrait pas aller chercher une variable dans la page ? Qu’est ce que ça veut dire dans ce cas là une « valeur dynamique » ?

      merci de votre aide,

      La page de saisie version antérieure : http://www.elisabethmasset.fr/ARCHIVES/essaiboutique3.htm (le pop up contient un formulaire textarea qui reprend la variable javascript finale - je veux un champ caché mais c’était pour contrôler)
      et la version spip : http://www.elisabethmasset.fr/spip.php?article106

    • Valeur dynamique en prog informatique de site web = valeur calculée côté serveur (par opposition à statique = une fois pour toute)

    • Pourquoi formidable ne pourrait pas aller chercher une variable dans la page ? Qu’est ce que ça veut dire dans ce cas là une « valeur dynamique » ?

      C’est plutôt à toi qu’il faut poser la question :D

      On a l’impression que tu essayes de programmer un truc mais sans piger la différence entre JS et PHP.

      SPIP est fait en PHP, donc Formidable aussi par défaut, et Formidable ne fait à peu près RIEN en JS côté client de toute façon à par l’AJAX.

      À partir du moment où tu calcules des choses en javascript côté navigateur lors de l’exécution de la page, comment espères-tu que ce soit passé AU PHP AVANT l’affichage du formulaire ?

      Si tu fais des choses en JS, obligatoirement tu dois les modifier dans le formulaire en JS aussi… Donc à toi de te débrouiller dans ton code Javascript pour modifier les valeurs des champs ou je ne sais quoi, je ne connais pas ton contexte.

      Cela dit, remplir des choses uniquement en JS, c’est la plupart du temps une mauvaise idée, ce n’est pas bien question accessibilité, et ya pas de vérification côté PHP que c’est bien du remplissage correct. Enfin bon, ça a l’air d’être un peu le bazar :D

    • ça va merci, j’utilise spip depuis 10 ans (mon premier en 2005), et mon besoin est très simple, et je parfaitement la différence entre php et js, merci. Simplement, je reprends maintenant des scripts qui fonctionnaient bien en 2010 dans mon ancien site et que je veux adapter à mon site désormais sous spip..

      Ce n’est pas le bazar, c’est juste que ça fait un mois que j’essaye tous les outils de spip contrib et que les plugins panier, paiement en ligne, catalogue, produits, API prix etc. ne me conviennent pas ; pour spip 3 les articulations entre eux sont un peu incompréhensibles...

      je veux juste que mes clients choisissent un dessin, un objet (avec affichage d’une photo d’exemple), dans un formulaire où je peux afficher des images, une quantité, qui calcule un montant à partir d’un prix, qu’ils me donnent dans un deuxième temps (après vérification de la commande) leurs coordonnées et que le tout m’envoie un mail.

      C’est tout.

      C’est hyper simple mon truc, et les plugins deviennent très très complexes.

      Je pensais juste que quand le formulaire est appelé, il est bien affiché côté client comme un formulaire html, et qu’on pouvait imaginer qu’au moment du submit, j’avais une action supplémentaire qui assigne une valeur

      <script>document.write(valeur);</script>

      à mon champ hidden avant envoi par mail. Non ? Ce n’est pas la peine d’être condescendant, je fais pas ça tous les jours, et mon idée n’avait rien de stupide.

      Tant pis, je vais intégrer du 100% js dans mon article, et essayer de trouver un mailer qui fonctionne.

      merci quand même.

    • je veux juste que mes clients choisissent un dessin, un objet (avec affichage d’une photo d’exemple), dans un formulaire où je peux afficher des images, une quantité, qui calcule un montant à partir d’un prix, qu’ils me donnent dans un deuxième temps (après vérification de la commande) leurs coordonnées et que le tout m’envoie un mail.

      C’est tout.

      C’est hyper simple mon truc, et les plugins deviennent très très complexes.

      Bah non ya pas de « c’est tout » et c’est absolument pas « hyper simple ». Ce que tu décris là c’est un tunnel de commande de commerce en ligne, et ça n’a absolument rien de simple. Et Formidable n’est pas du tout conçu pour faire ça mais pour faire des questionnaires et sondages, donc forcément l’utiliser pour un tunnel de commande est du bricolage ni spécialement facile, ni forcément pérenne.

      Et oui pour faire du commerce, la recommandation c’est évidemment d’utiliser Produits, Paniers, Commandes, Bank, etc.

      Je pensais juste que quand le formulaire est appelé, il est bien affiché côté client comme un formulaire html, et qu’on pouvait imaginer qu’au moment du submit, j’avais une action supplémentaire qui assigne une valeur

      Bah si tu fais tout en JS, je ne vois pas ce qui te bloque.

      Il n’y a strictement rien de propre à Formidable. Si tu oonnais le « name » des champs d’un formulaire, pour n’importe quel formulaire du monde en HTML, tu peux en JS remplir sa valeur comme tu veux, suivant les événements, triggers, que tu veux. Il n’y a aucun blocage à ça. Mais évidemment faut être capable de cibler les champs pour les remplir (connaitre leur id ou name).

    • Eh bien non, ce n’est pas vraiment un tunnel de commande, car il n’y a pas de fonction panier, pas de règlement en ligne etc. Juste l’expression d’un souhait (quel objet personnalisé avec quel dessin du site, et en quelle quantité), des informations données sur ce que ça va coûter au client, et après ça se règle en direct avec le client (je vais pas être amazon)

      J’ai essayé au début avec Formidable sur de gentils conseils d’autres développeurs, mais effectivement il n’est pas fait pour ça, d’où le recours à 100% javascript pour le formulaire n°1 là : http://www.elisabethmasset.fr/spip.php?article106
      Ce formulaire n°1 envoie les données dans la page de récapitulation, compilées par js dans une variable « textetotal », que j’affiche. Comme ça l’utilisateur vérifie ce qu’il m’a demandé puis entre ses coordonnées et m’envoie le tout.

      Je ne veux utiliser formidable QUE pour le contact dans le formulaire n°2, mais je veux aussi embarquer au passage la valeur « textetotal ».

      Je voulais effectivement créer un champ caché dans Formidable et lui donner cette valeur par un petit js, avant ou au moment de la validation mais impossible de repérer ni le « name » exact du formulaire créé par le script php, ni celui du champ hidden_1. C’est juste ça que je voulais en fait !

      En effet on repart forcément de la page html puisqu’il faut bien embarquer la saisie des coordonnées...

      Si vraiment c’est pas possible je retourne à mes vieux scripts.

    Répondre à ce message

  • Bonjour, bravo pour cet outil que j’utilise depuis très longtemps.
    Question : Un champ caché, introduit dans un groupe de champ pliable et plié, pose-t-il problème chez vous ?

    Chez moi, il semblerait que l’affichage des autres champs non cachés de ce groupe ne fonctionne plus et n’enregistre plus rien.

    Le problème est résolu, chez moi, quand le champ caché est sorti du groupe de champ, donc ma suspicion va vers ce champ caché.

    Répondre à ce message

  • J’essaie d’afficher les réponses au formulaire avec
    <formulaire_reponse|id_formulaire=xx>
    comme pour l’analyse des réponses <formulaire_analyse|id_formulaire=xx>
    mais rien ne s’affiche.

    Est-il possible d’utiliser le modèle formidable/v3.22.0/modeles/formulaires_reponse.html par défaut du plugin ?

    J’ai coché oui pour le champ « Par défaut, les pages publiques des formulaires ne sont pas autorisées »
    mais j’ai un doute sur le lien.

    Merci

    Répondre à ce message

  • 10

    Bug ou feature ?
    J’ai un champ « liste déroulante » qui propose une série d’options valeur|libellé
    Après sélection puis validation, c’est bien « valeur » qui est inscrit dans la base de donnée, OK.
    Le truc, c’est que les mails de confirmation/accusé de réception, la visualisation des réponses dans l’espace privé ou l’export CSV affichent « libellé » et non pas « valeur ».
    Bug ou feature ? (dans le cas qui me concerne, c’est très gênant...)

    • c’est une feature pour ce qui concerne l’affichage dans l’espace privé et les emails.

      pour l’export csv... cela de discute. On pourrait mettre une option.

    • L’export des réponses est déjà un formulaire (et non un simple bouton ou lien d’action), donc oui je pense qu’au fur et à mesure, il faudrait rajouter des options.

      Cela dit, pour du CSV (donc du traitement), ça devrait effectivement par défaut être la valeur brute, m’est-avis…

    • Merci de ta réponse.
      Pour l’affichage et les emails : je suis d’accord, ça se tient parce que c’est ce qu’a choisi l’internaute.
      Pour le CSV, là je trouve ça vraiment problématique. En l’occurrence, j’ai une série de « dates » (enfin, des chaines de texte) du style
      2018-11-17|17 novembre
      2018-12-02|2 décembre etc...
      tel qu’il est, l’export csv est inexploitable dans un tableur pour trier les réponses par date.
      Je sens que mon client ne va pas m’adorer sur ce coup-là.
      => comment faudrait-il faire pour avoir la valeur du champ dans le csv ?

      PS : quand on rédige les options en mettant des « / »
      2018/11/17|17 novembre
      2018/12/02|2 décembre etc...
      alors, dans les mails on obtient « sans réponse ».... gloups

    • pour les dates ca se tient. Mais pour d’autres cas, pas forcément.
      Donc je serais plutot d’avis de proposer cela comme option, sous forme de bouton radio qui choisi, et avec comme valeur par défaut « brut ».

      Pour le /, je pense que c’est lié au fait que dans la terminologie SPIP, le / marque souvent des sous entrée de tableau.

    • Pour le bouton et la valeur brute, ce serait vraiment chouette de pouvoir avoir cette possibilité. C’est compliqué à faire ???

    • a priori non, mais faut avoir le tps.

    • Alors.... aïe, ouille, je pose ou je pose pas la question ?
       ;-))
      (Ah, mon dieu, dans une deuxième vie, faut vraiment que j’aie de meilleures bases de programmation)

    • la réponse est : j’en sais rien.

    • la dernière version de formidable 3.21.0 permet de choisir la forme brute ou la forme humaine lors de l’export. Par défaut, la forme brute.

    • Merci mille fois Maïeul
       ;-))))

    Répondre à ce message

  • 1

    Je viens de voir qu’il y avait la possibilité d’ajouter un champ « Inscription aux listes ».
    Ca m’intéresse beaucoup pour éviter d’avoir 2 formulaires à faire remplir sur la même page (1 formulaire avec tous les champs voulus + 1 pour l’inscription à une newsletter).

    Mais je ne vois pas trop comment brancher ça sur les inscriptions.

    Est-ce que l’utilisateur qui indique son adresse mail dans un champ email du formulaire (champ à définir ?) peut être ainsi inscrit à une liste de diffusion listée dans les options du champ « Inscription aux listes » ?
    Et dans ce cas il n’y a pas de double opt-in ?

    Il n’y a pas mention des listes de diffusion dans l’email reçu par l"administrateur même si une liste est indiquée par défaut dans les paramètres du champ.

    Merci

    • Ce n’est pas natif à Formidable, mais plutot une fonction du plugin mailsubscriber. Je conseillerai de demander de l’aide dans le forum dudit plugin.

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

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

Dernière modification de cette page le 2 octobre 2018