Configuration des traitements de Formidable

Une fois le formulaire et les champs créés formidable propose de “configurer les traitements”. Cet article vise à préciser ou compléter quand ça semble nécessaire certains choix présents.

Les fonctions listées sont valable avec la version 4.4.0 du plugin.

Le premier choix consiste à savoir si on veut :

  • “Enregistrer les résultats du formulaire dans la base de données”
  • “Poster par courriel le résultat du formulaire à une liste de destinataires”,
  • Les choix ne sont pas exclusifs.

Enregistrer les résultats du formulaire dans la base de données

Une fois cette case cochée, un certain nombre d’options s’affichent. Il est notamment possible de rendre les réponses au formulaire :
-  Multiples : une même personne peut répondre plusieurs fois.
-  Modifiables : les visiteurs peuvent modifier leurs réponses après coup.

Méthode d’identification

Dans le cas ou votre formulaire comprend des réponses modifiables ou uniques, un encart apparaîtra afin de définir une méthode d’identification des réponses :

-  Soit par cookie. L’identification dépendra du navigateur sur lequel l’utilisateur rempli le formulaire. Si celui-ci n’autorise pas les cookies, l’identifiant de la personne authentifiée et la méthode d’identification par variable de connexion PHP seront utilisées à la place de cette méthode.
-  Soit par identifiant de la personne identifiée. Utile pour les formulaires nécessitant la création d’un compte à priori. Si l’utilisateur n’est pas connecté, la méthode d’identification par cookie sera utilisée à la place de cette méthode, ou a défaut la variable de connexion PHP (sauf en cas d’anonymisation des identifiants).
-  Soit par identifiant de la réponse passée explicitement lors de l’appel au formulaire dans un squelette. Cette méthode permet de forcer l’affichage d’une réponse particulière.
-  Soit par variable de connexion PHP. L’identification dépendra d’une variable d’environnement fournie par l’utilisateur. Si celle-ci n’existe pas, l’identifiant de la personne authentifiée et l’identification par cookies seront utilisées à la place de cette méthode.

Protection des données personnelles

Il est également possible de paramétrer la protection des données personnelles des utilisateurs :

-  En ne conservant pas l’identifiant de la personne connectée. Si la méthode d’identification est justement cet identifiant, celui-ci sera d’abord crypté avant d’être stocké en base).
-  En demandant l’effacement des résultats les plus anciens de la table. Une fois la case cochée, il sera possible de définir le nombre de jours pendant lesquels on garde l’enregistrement avant d’effacer.
-  En choisissant d’enregistrer ou non les IPs des utilisateurs. Ces IP seront hashés après un délai de garde.

Autres options disponibles

Elles concernent :

  • La modération de l’enregistrement :
    • à priori, les réponses sont modérées automatiquement, sauf pour les administrateurtrices (mais on peut ajouter une option pour modérer aussi pour ces personnes);
    • à posteriori, les réponses sont à modérer manuellement.
    • L’exclusion des champs de l’analyse des résultats proposée par formidable.
    • Le rafraîchissement du cache à chaque enregistrement de réponses. Utile si les réponses sont publiques ou si on veut afficher publiquement le nombre de réponses.

Poster par courriel le résultat du formulaire à une liste de destinataires.

Une fois coché ce choix une série de champs est proposée, répartis en cinq groupes :

Destinataires du courriel

  • Sujet du courriel
  • Contenu du courriel
  • Destinataires du courriel
  • Expéditeur du courriel
  • Accusé de réception

Sujet du courriel

Il est possible de personnaliser le Sujet du courriel avec les @raccourcis@ (sinon il sera construit automatiquement) et de choisir de n’y mettre que des Valeurs brutes si le mail doit être traité par un robot et non un humain.

Contenu du courriel

Possibilités de personnalisation:
-  *Champs à exclure du contenu du message;
-  * Faut-il “Joindre les fichiers dans le courriel”,
-  * “Masquer les liens d’administration dans le courriel”
-  * “Envoyer l’adresse IP de l’envoyeur aux destinataires”
-  * Masquer les champs vide

Concernant les Champs à exclure du contenu du message, comme indiqué dans le placeholder les champs doivent être exclus sous la forme “input_3,selection_2”
Depuis la révision 110166 il est possible d’exclure les champs sous la forme @raccourcis@

Destinataires du courriel

Trois choix possibles : Destinataires, Destinataires supplémentaires, Destinataires en fonction d’un champ.
Le premier choix Destinataires ne pourra comprendre que des champs de type “hidden” ou “destinataires”. Le type de champ Destinataires permet de choisir parmi une liste de rédacteurs du site quels seront ceux qui sont informés du remplissage du formulaire.

Le champ Destinataires supplémentaires permet, comme son nom l’indique, d’envoyer un formulaire à un ou plusieurs destinataires en fournissant des adresses directement dans le champ.

Enfin, Destinataires en fonction d’un champ permet d’envoyer le formulaire à des interlocuteurs différents en fonction des choix. Attention toutefois pour que ça fonctionne bien il faut que soit proposé un mail pour chaque choix, ou, s’il y a des choix non définis ici, qu’un destinataire soit défini par ailleurs.

Expéditeur du courriel

Trois champs possibles Courriel de l’envoyeur, faut-il “Insérer le courriel de l’envoyeur dans le champ “From”” et le Nom de l’envoyeur
Courriel de l’envoyeur : ne pas oublier de renseigner ce champ si on utilise le message de confirmation ou accusé de réception

Accusé de réception

L’accusé de réception ne peut être demandé que si le courriel de l’envoyeur est préalablement renseigné. Alors il devient possible de cocher Envoyer aussi un courriel à l’adresse de l’envoyeur avec un message de confirmation.
Il est ensuite possible de définir le Sujet de l’accusé de réception, de préciser un Courriel de l’accusé de réception et de forcer un Nom de l’expéditeur de l’accusé de réception

Discussion

25 discussions

  • 6

    Bonjour à tous,

    J’ai un gros soucis avec les traitements de formidable … quelque soit le choix de validation il m’indique une série erreur avec SAISIE…

    <pre>
    ( ! ) Warning: Illegal string offset 'champ_montant' in /home/u702482351/domains/transbay.fr/public_html/plugins/auto/saisies/v5.11.0/inc/saisies_request.php on line 134
    Call Stack
    #	Time	Memory	Function	Location
    1	0.0002	391848	{main}( )	.../index.php:0
    2	0.0139	1000456	traiter_formulaires_dynamiques( $get = ??? )	.../index.php:71
    3	0.0772	1223984	pipeline( $action = 'formulaire_verifier', $val = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../aiguiller.php:255
    4	0.0772	1224080	execute_pipeline_formulaire_verifier( $val = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../utils.php:303
    5	0.0778	1224944	minipipe( $fonc = 'saisies_formulaire_verifier', $val = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../charger_pipelines.php:796
    6	0.0778	1224944	saisies_formulaire_verifier( $flux = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../utils.php:236
    7	0.0793	1425664	saisies_verifier( $formulaire = [0 => ['saisie' => 'explication', 'options' => [...], 'verifier' => [...]], 1 => ['saisie' => 'checkbox', 'options' => [...], 'verifier' => [...]], 2 => ['saisie' => 'fieldset', 'options' => [...], 'saisies' => [...]], 3 => ['saisie' => 'hidden', 'options' => [...]], 'options' => ['inserer_fin' => '\n\t\t<script type=\'text/javascript\'>\n\t\t\tjQuery(function() {\n\t\t\t\t$(\'.editer_traitements_choisis > legend\').removeClass(\'label\').removeClass(\'editer-label\');\n\t\t\t});\n\t\t</script>\n\t\t<style>\n\t\t\tinput.checkbox+label {font-weight: normal;}\n\t\t\tinput.checkbox+label strong {font-weight: normal;}\n\t\t\tinput.checkbox:checked+label {font-weight: bold;}\n\t\t\tinput.checkbox:checked+label strong {font-weight: bold;}\n\t\t\tinput.radio+label {font-weight: normal;}\n\t\t\tinput.radio+label strong {font-weight: normal;}\n\t\t\tinput.radio:check'...]], $saisies_masquees_empty_string = ???, $etape = ???, $valeurs = ??? )	.../saisies_pipelines.php:312
    8	0.0855	1606264	saisies_afficher_si_masquees_set_request_empty_string( $saisies = [0 => ['saisie' => 'explication', 'options' => [...], 'verifier' => [...]], 1 => ['saisie' => 'checkbox', 'options' => [...], 'verifier' => [...]], 2 => ['saisie' => 'fieldset', 'options' => [...], 'saisies' => [...]], 3 => ['saisie' => 'hidden', 'options' => [...]], 'options' => ['inserer_fin' => '\n\t\t<script type=\'text/javascript\'>\n\t\t\tjQuery(function() {\n\t\t\t\t$(\'.editer_traitements_choisis > legend\').removeClass(\'label\').removeClass(\'editer-label\');\n\t\t\t});\n\t\t</script>\n\t\t<style>\n\t\t\tinput.checkbox+label {font-weight: normal;}\n\t\t\tinput.checkbox+label strong {font-weight: normal;}\n\t\t\tinput.checkbox:checked+label {font-weight: bold;}\n\t\t\tinput.checkbox:checked+label strong {font-weight: bold;}\n\t\t\tinput.radio+label {font-weight: normal;}\n\t\t\tinput.radio+label strong {font-weight: normal;}\n\t\t\tinput.radio:check'...]], $valeurs = NULL )	.../saisies_verifier.php:147
    9	0.0857	1638632	saisies_set_request_recursivement( $saisie = ['saisie' => 'fieldset', 'options' => ['nom' => 'options_paiement', 'label' => 'Paiement', 'class' => 'paiement options_traiter', 'afficher_si' => '@traitements_choisis@ IN \'paiement\'', 'onglet' => 'on', 'onglet_vertical' => 'on', 'conteneur_class' => ' pleine_largeur'], 'saisies' => [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...]]], $val = '', $valeurs = NULL )	.../saisies_afficher_si_php.php:91
    10	0.0857	1639416	saisies_set_request_recursivement( $saisie = ['saisie' => 'champ', 'options' => ['nom' => 'traitements[paiement][champ_montant]', 'label' => '<:formidablepaiement:traiter_paiement_option_champ_montant_label:>', 'env' => TRUE, 'conteneur_class' => ' pleine_largeur'], 'verifier' => [0 => [...]]], $val = '', $valeurs = NULL )	.../saisies_afficher_si_php.php:112
    11	0.0857	1639416	saisies_set_request( $champ = 'traitements[paiement][champ_montant]', $valeur = '', $valeurs = NULL )	.../saisies_afficher_si_php.php:108
    
    ( ! ) Fatal error: Uncaught Error: Cannot create references to/from string offsets in /home/u702482351/domains/transbay.fr/public_html/plugins/auto/saisies/v5.11.0/inc/saisies_request.php on line 134
    ( ! ) Error: Cannot create references to/from string offsets in /home/u702482351/domains/transbay.fr/public_html/plugins/auto/saisies/v5.11.0/inc/saisies_request.php on line 134
    Call Stack
    #	Time	Memory	Function	Location
    1	0.0002	391848	{main}( )	.../index.php:0
    2	0.0139	1000456	traiter_formulaires_dynamiques( $get = ??? )	.../index.php:71
    3	0.0772	1223984	pipeline( $action = 'formulaire_verifier', $val = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../aiguiller.php:255
    4	0.0772	1224080	execute_pipeline_formulaire_verifier( $val = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../utils.php:303
    5	0.0778	1224944	minipipe( $fonc = 'saisies_formulaire_verifier', $val = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../charger_pipelines.php:796
    6	0.0778	1224944	saisies_formulaire_verifier( $flux = ['args' => ['form' => 'editer_formulaire_traitements', 'args' => [...]], 'data' => []] )	.../utils.php:236
    7	0.0793	1425664	saisies_verifier( $formulaire = [0 => ['saisie' => 'explication', 'options' => [...], 'verifier' => [...]], 1 => ['saisie' => 'checkbox', 'options' => [...], 'verifier' => [...]], 2 => ['saisie' => 'fieldset', 'options' => [...], 'saisies' => [...]], 3 => ['saisie' => 'hidden', 'options' => [...]], 'options' => ['inserer_fin' => '\n\t\t<script type=\'text/javascript\'>\n\t\t\tjQuery(function() {\n\t\t\t\t$(\'.editer_traitements_choisis > legend\').removeClass(\'label\').removeClass(\'editer-label\');\n\t\t\t});\n\t\t</script>\n\t\t<style>\n\t\t\tinput.checkbox+label {font-weight: normal;}\n\t\t\tinput.checkbox+label strong {font-weight: normal;}\n\t\t\tinput.checkbox:checked+label {font-weight: bold;}\n\t\t\tinput.checkbox:checked+label strong {font-weight: bold;}\n\t\t\tinput.radio+label {font-weight: normal;}\n\t\t\tinput.radio+label strong {font-weight: normal;}\n\t\t\tinput.radio:check'...]], $saisies_masquees_empty_string = ???, $etape = ???, $valeurs = ??? )	.../saisies_pipelines.php:312
    8	0.0855	1606264	saisies_afficher_si_masquees_set_request_empty_string( $saisies = [0 => ['saisie' => 'explication', 'options' => [...], 'verifier' => [...]], 1 => ['saisie' => 'checkbox', 'options' => [...], 'verifier' => [...]], 2 => ['saisie' => 'fieldset', 'options' => [...], 'saisies' => [...]], 3 => ['saisie' => 'hidden', 'options' => [...]], 'options' => ['inserer_fin' => '\n\t\t<script type=\'text/javascript\'>\n\t\t\tjQuery(function() {\n\t\t\t\t$(\'.editer_traitements_choisis > legend\').removeClass(\'label\').removeClass(\'editer-label\');\n\t\t\t});\n\t\t</script>\n\t\t<style>\n\t\t\tinput.checkbox+label {font-weight: normal;}\n\t\t\tinput.checkbox+label strong {font-weight: normal;}\n\t\t\tinput.checkbox:checked+label {font-weight: bold;}\n\t\t\tinput.checkbox:checked+label strong {font-weight: bold;}\n\t\t\tinput.radio+label {font-weight: normal;}\n\t\t\tinput.radio+label strong {font-weight: normal;}\n\t\t\tinput.radio:check'...]], $valeurs = NULL )	.../saisies_verifier.php:147
    9	0.0857	1638632	saisies_set_request_recursivement( $saisie = ['saisie' => 'fieldset', 'options' => ['nom' => 'options_paiement', 'label' => 'Paiement', 'class' => 'paiement options_traiter', 'afficher_si' => '@traitements_choisis@ IN \'paiement\'', 'onglet' => 'on', 'onglet_vertical' => 'on', 'conteneur_class' => ' pleine_largeur'], 'saisies' => [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...]]], $val = '', $valeurs = NULL )	.../saisies_afficher_si_php.php:91
    10	0.0857	1639416	saisies_set_request_recursivement( $saisie = ['saisie' => 'champ', 'options' => ['nom' => 'traitements[paiement][champ_montant]', 'label' => '<:formidablepaiement:traiter_paiement_option_champ_montant_label:>', 'env' => TRUE, 'conteneur_class' => ' pleine_largeur'], 'verifier' => [0 => [...]]], $val = '', $valeurs = NULL )	.../saisies_afficher_si_php.php:112
    11	0.0857	1639416	saisies_set_request( $champ = 'traitements[paiement][champ_montant]', $valeur = '', $valeurs = NULL )	.../saisies_afficher_si_php.php:108</pre>
    • peux tu envoyer un export .yaml du formulaire pour que je vois ce qu’il en est ?

    • mais là comme cela je pense que tu a un traitement de type paiement qui demande un champ indiquant le montant, et quetu n’a pas choisi ce champ. d’où l’erreur.

    • Bonjour Maïeul… j’ai fini par aller faire un tours sur le serveur Hostsinger (que je ne pratique jamais) j’ai activé toutes les fonctions possibles et … cela fonctionne !!!
      MAIS depuis lors de la validation du formulaire :
      Erreur SQL 1054
      Unknown column ’spip_formulaires.id_formulaire’ in ’WHERE’
      SELECT spip_formulaires.*, spip_formulaires_reponses.id_formulaires_reponse FROM spip_formulaires JOIN spip_formulaires_reponses WHERE id_formulaires_reponse = 75 AND spip_formulaires.id_formulaire = spip_formulaires_reponses.id_formulaire
      et les raccourcis @raccourcis@ des champs ne fonctionnent pas…

      Merci de pour réactivité (légendaire).

    • sans .yaml je ne peux pas tellement aider. Mais je me demande si ta base de donné n’a pas un souci. Tente une reéparation.

    • j’aivais déjà viré le plugin payement, car cela faisait planter le formidable… je en comprend pas
      deplus sur tous les formulaire le champs “Label du premier choix vide” qui est remplis est le seul accepté, sinon le formulaire renvoi :
      “il y a 1 erreur dans votre saisie, veuillez vérifier les informations.
      Vous nous contacter pour quel service : Cette valeur est déjà utilisée”
      Pfffff

    • C’est bon je viens de t’envoyer les exports “formulaire Yaml”. Bien à toi.

    Reply to this message

  • 2

    Bonjour,
    J’ai créé un formulaire, pas de souci.
    Y a-t-il une possibilité que les réponses soient automatiquement publiées dans un article? (il s’agit de proposition de stages pour des élèves).
    Je n’ai pas les droits pour modifier les squelettes...
    Merci!!

    • Bonjour,

      non formidable n’est pas livré avec des modèles d’affichage de réponse (qui peuvent varier considérablement selon les besoins, et je / nous ne voulons pas avoir à maintenir ca). Donc il faut que vous creiez vos propres squelettes...

    • Merci de votre réponse si rapide!
      Tant pis, je vais chercher autre chose.
      Pas simple lorsqu’on nous bloque l’accès aux squelettes...

    Reply to this message

  • Bonjour !
    Voulant créer un nouveau traitement pour mon formulaire j’ai créer un plugin en renseignant dans le paquet.xml la balise “necessite formidable”
    Puis j’ai ajouté à mon dossier plugin un dossier traiter et dedans j’y ai mis un fichier yaml avec un unique champ input et un fichier php avec ma fonction de traitement. J’ai activé le plugin dans mon spip mais malheureusement je ne vois pas le traitement dans la liste des traitements disponible pour le formulaire. Il faut en recréer un nouveau pour le voir ou il y a t’il une étape que j’ai manqué ?

    Merci beaucoup d’avance !

    Reply to this message

  • 10

    Bonjour,
    Est ce possible de créer un traitement personnalisé des soumissions d’un formulaire formidable.
    Le but étant pour moi de créer automatiquement des comptes de démo + associer à un abonnement/accès restreint suite au submit d’un formulaire.

    Une idée ou je passe par un cron pour faire cela de façon régulière mais pas automatique.

    Merci !

    • Oui c’est possible. Il faut créer dans ton dossier de plugin/squelette (mais le mieux en plugin) un dossier traiter, avec dedans :
      -  un .yaml qui gère la config du traitement
      -  un .php avec des fonctions qui gèrent le traitement.

      Tu peux regarder ce qu’il y dans le dossier traiter livrer avec le plugin pour t’en aspirer.

    • Merci pour ton retour.
      J’ai d’autres formulaires formidable, y a t-il une démarche pour ne pas altérer le fonctionnement des autres formulaires ? D’ailleurs j’aimerais conserver le stockage des données pour celui que je veux traiter, simplement ajouter un traitement supplémentaire.

    • bah chaque traitement est independant, donc il n’y a rien de spécifique à faire.

      Tu peux deja constater maintenant que tu peux avoir email ET/OU enregistrement en base, et tu as des tas de plugins qui rajoutent d’autres traitements.

    • C’est tout vu, Tu répondais déjà à toutes mes questions.
      merci ! Ce plugin est vraiment top ;-) !

    • Bonjour,

      Je n’ai pas trouvé s’il était possible d’interrompre la suite des traitements si l’un échoue.

      Plus spécifiquement je ne voudrais pas que le mail de confirmation soit envoyé s’il y a eu un problème avec l’upload d’un fichier.

      Merci!

    • J’ai trouver une solution: surcharger traiter_email_dist()

      function traiter_email($args, $retours) {
        if (isset($retours['message_erreur'])) {
      // sortire sans faire le traitement s'il y a une erreur
          $retours['traitements']['email'] = true;
          return $retours;
        }
      // appeller le traitment  email si pas d'erreur
      	return traiter_email_dist($args, $retours);
      }

      Merci SPIP tu es FORMIDABLE !!

    • C’est une solution évidemment, mais elle n’est pas terrible car elle ne permet pas de profiter des mises à jour des traitements.

      Il faudrait ouvrir un ticket pour proposer

      1. Soit d’avoir cette fonctionnalité en natif
      2. Soit d’avoir un système de pipeline pour gérer cela.

      Cependant la vrai question c’est : pourquoi est-ce que les enregistrement échouerait. Normalement cela ne doit pas arriver, sauf problème grave.

    • J’ai un traitement personnalisé qui upload des documents vers un espace de stockage dans les nuages. Je ne suis pas à l’abri d’un dépassement de quotas ou d’une indisponibilité temporaire du service. Donc la possibilité que ce traitement echoue existe. Le formulaire sert pour l’inscription des candidats à un concours interne. Il ne faut surtout pas que ceux-ci reçoivent un email de confirmation d’inscription si les documents demandés n’ont en fait pas été transmis.
      La solution de surcharge est juste une dérivation qui revient sur la fonction originale traiter_email_dist si le traitement doit avoir lieu, et profitera donc des améliorations apportées à cette fonction.
      Cela dit avoir la possibilité de contrôler l’exécution des différents traitements et tant qu’à faire le retour final de formidable serait l’idéal.

    • Bonjour !
      Voulant créer un nouveau traitement pour mon formulaire j’ai créer un plugin en renseignant dans le paquet.xml un
      Puis j’ai ajouté un dossier traiter et dedans j’y ai mis un fichier yaml avec un unique champ input et un fichier php avec ma fonction de traitement. J’ai activé le plugin dans mon spip mais malheureusement je ne vois pas le traitement dans la liste des traitements disponible pour le formulaire. Il faut en recréer un nouveau pour le voir ou il y a t’il une étape que j’ai manqué ?

      Merci beaucoup d’avance !

    • Bonjour,

      il doit y avoir une étape qui manque. Mais pouvez vous ouvrir un nouveau fil, en mettant également en copie vos fichier yaml et php ?

    Reply to this message

  • 3

    Bonjour, existe-t-il un moyen de rendre l’url complexe pour qu’elle ne soit pas lisible par autrui. Actuellement, j’affiche des informations à destination de l’auteur du formulaire à l’aide de l’url suivante : /spip.php?page=info&id_article=1&id_formulaires_reponse=779. Mais n’importe qui peut en récupérant l’URL voir les infos des uns et des autres...

    /spip.php?page=info&id_article=1&id_formulaires_reponse=780
    /spip.php?page=info&id_article=1&id_formulaires_reponse=7
    /spip.php?page=info&id_article=1&id_formulaires_reponse=479
    • Heu, je sais pas comment tu a fait ton appel au formulaire, mais normalement non même avec l’id de la réponse, on ne peut pas voir les données (si on a bien demandé une authentification par cookies).

      Donc avant d’aller plus loins : peux tu nous dire
      1. La configuration exacte du traitement enregistrer
      2. La manière dont tu appelle ton formulaire

    • Voici les infos :
      -  Méthode d’authentification par cookie, oui.
      -  Dans formidable, je demande une adresse de redirection après validation qui est ;
      https://monsite.fr/spip.php?page=info&id_article=1

    • Oki.

      Bah du coup je viens de vérifier : pour peu que ce ne soit PAS le même navigateur, on ne peut effectivement pas récuperer les réponses de l’autres. Donc

      1. Vérifie en changeant de navigateur, pour faire comme si tu étais deux personnes différentes
      2. Si c’est toujours bugué, on tentera un debug pour voir d’où vient le problème.

    Reply to this message

  • 2

    Bonjour,
    Quand on ajoute une classe à un champ du formulaire – ce que je cherche à faire pour mes lignes de texte / @input@ correspondant au nom et au prénom – pour les forcer en text-transform: capitalize, ça fonctionne quand la personne écrit dans le champ, puis à l’affichage des résultats sur la page web, mais pas dans le mail qui envoie les résultats…
    Je suppose que c’est du côté de php que ça se passe, mais alors là… je suis zéro ^^
    Quelqu’un verrait-il un solution simple pour traiter un (plusieurs) champs définis de cette façon ?
    Ça ressemble à du chipotage, mais quand un client demande… ;p
    Cordialement

    • Je pense qu’il faudrait que tu surcharge les fichiers notificatons/formulaire_accuse.html et notifications/formulaire_email.html du plugin pour rajouter tes propres css.

      Cela étant je me demande si cela devrait pas être un truc qu’on pourait proposer en natif, d’ajouter des css aux traitements emails.

      Si tu as envie, ouvre un ticket.

    • Merci Maïeul pour cette réponse rapide !
      Je ne vois pas comment surcharger ces fichiers pour n’atteindre que les champs à qui j’ai appliqué une classe supplémentaire (et aussi sur le conteneur) dans l’édition du formulaire, ou bien cibler lesdits champs par leur identifiant @input_1@, @input_3@, etc.?
      Je veux bien ouvrir un ticket, chouette, mais c’est par où ? Pas ici ?
      Ceci-dit, si ça amène une mise à jour, c’est un site qui tourne encore en 3.2, et que je ne vais pas pouvoir passer en 4 immédiatement…
      Bonne journée

    Reply to this message

  • 2

    Bonjour,

    Il y a-t-il une possibilité d"envoyer le message à des destinataires en CC, en plus de A ?

    Merci,
    François

    Reply to this message

  • 3

    Bonjour,

    Je reçois bien les courriels envoyés depuis mon site mais coté internaute, les accusés de réception ne fonctionnent pas. Une piste ?

    • Problème de configuration du service mail de PHP ? Est-ce que cela le fait également si tu demande un AR vers un email du même domaine que ton site ?

    • Oui je viens de faire le test. L’accusé de réception fonctionne sur une adresse du même domaine :/

    • Il y a tout lieu de penser que l’hébergeur bloque l’envoi de mail vers un autre domaine. Il faudrait leur demander. A mon avis c’est une mesure de lutte contre le spam.

      S’ils ne veuleent /peuvent pas changer leur politique, alors il faudra configurer facteur pour utiliser un smtp externe.

    Reply to this message

  • 2

    Bonjour,

    est-ce que pour plus de praticité on a possibilité d’automatiquement intégrer dans les champs l’email d’un auteur connecté ? Et comment fait-on ?

    Merci

    • pour l’heure non. On pourrait imaginer

      1. Soit de créer une saisie spécificique
      2. Soit de modifier les saisies input/email pour ajouter ces options.

      Mais je me pose la question du cache sur ce genre de chose.

    • Merci de ta réponse :) C’était “au cas où” !

    Reply to this message

  • 4

    Bonjour,

    Je débute avec ce plugin déjà bien sophistiqué. Mais, je n’ai pas trouvé dans la doc si le formulaire formidable
    a ou non un mécanisme pour confirmer l’adresse du visiteur. Un peu comme pour l’inscription Spip.
    Le mail de confirmation vers le mail du visiteur aurait un lien qui s’il est cliqué va valider alors l’insertion en bdd.
    Ceci permet d’éviter l’accumulation de fausses adresses e-mail en bdd.
    Est-ce déjà fait, ou est-ce faisable avec un peu de code ?

    Merci

    • Non cela n’existe pas encore. C’est sans doute faisable avec un bout de code oui (tout est faisable avec des bouts de code, puisque c’est du logiciel libre). Le tout est d’avoir le temps de l’écrire ce bout de code, et de l’écrire proprement.

    • Merci beaucoup Maïeul,

      Je ne suggérais en aucun cas qu’on le code pour moi :-)
      Peut-être un champ extra à valider par une action avec un hash,
      ou le champ statut de la table spip_formulaires_reponses
      à mettre d’abord à non-verifié
      puis à publier après clic sur le lien .

      Je vais voir .

      Jack

    • Dans tout les cas, fait un PR.

      Je pense qu’un statut à part plutot que “proposé” serait mieux. Je crois que pour les auteurs c’est comme cela que ca marche, à moins que ce soit pour les petititions.

    • J’ai cru voir que formidable peut être associé à mailsubscribers qui a l’option double opt in.
      Donc crée des listes épurées
      Mais, ça oblige peut-être à utiliser mailshot. J’aimerais éviter et utiliser le mail de base.
      Je ne vais pas faire de mailing newsletters.

    Reply to this message

Add a comment

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom