Formulaire de contact configurable

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Ce plugin permet de composer librement un formulaire de contact et de choisir la liste des destinataires qui recevront par mail les informations collectées.

Cette extension bénéficie d’une importante mise à jour. Reportez vous au bas de l’article pour en prendre connaissance.

La configuration

Ce plugin permet de composer un formulaire contact en choisissant parmi 12 champs :

  • civilité (madame, monsieur),
  • prénom,
  • nom,
  • nature du contact (particulier,entreprise, association),
  • raison sociale,
  • email,
  • adresse,
  • cp,
  • ville,
  • téléphone,
  • message,
  • infolettre,
  • nobot (champs destiné à vous prémunir contre les robots-spammeur).

Le formulaire minimum conseillé embarquera les champs email, message et nobot .

C’est également vous qui décidez du caractère obligatoire ou non de chaque champs.

Vous sélectionnez la liste des destinataires parmi tous les auteurs du site quelque soit leur statut. En l’absence de configuration c’est l’adresse email d’envoi optionnelle (que vous trouverez dans l’onglet « interactivité » de la configuration générale de spip) qui sera utilisée. À défaut le plugin utilise l’adresse du webmaster.

Informations supplémentaires collectées automatiquement

La date de collecte des informations, l’IP du posteur et la page d’émission du formulaire sont calculées et fournies dans le mail.

L’installation

Pour l’intégrer à votre site il suffit d’installer le plugin. Au préalable vous devrez installer SPIP 2 et les plugins cfg et spip-bonux.

L’utilisation

Le code à insérer dans un squelette :

<div class="ajax">#FORMULAIRE_CONTACT</div>

Le code à insérer dans un article (ici l’article 10) :

<contact|article=10>

Exemple

Un exemple d’utilisation

Conclusion

C’est vraiment terrible CVT :)

À venir : sauvegarde dans la table message de spip et pourquoi pas la fusion avec le formulaire contact avancé

Pour télécharger le plugin lisez l’article « Formulaire-de-contact-avance »

Màj du 23-03-09 : pour fêter le printemps comme il se doit le plugin contact fait peau neuve et fusionne avec le greffon contact avancé. Si vous souhaitez migrer vers cette nouvelle mouture lisez l’article 2999.

Conseil de migration : effacez la feuille de configuration cfg avant la mise à jour, procédez à la mise à jour et configurez à nouveau le plugin.

Bonne utilisation :)

Discussion

11 discussions

  • Patrick Lafforgue

    J’ai mis en place ce plugin comme indiqué sur le site du golf de Battut (http://golfdubattut.com) à la rubrique contact.
    Le formulaire s’affiche suivant le paramétrage CFG mais lorsque je veux envoyer les informations collectées dans le formulaire, j’ai deux messages qui s’affichent :
    « Warning : Invalid argument supplied for foreach() in /homez.139/golfduba/www/plugins/contact/formulaires/contact.php on line 19

    Fatal error : Call to undefined function : sql_select() in /homez.139/golfduba/www/plugins/contact/formulaires/contact.php on line 56 »

    Je ne comprend pas pourquoi.

    Merci de votre aide.

    Répondre à ce message

  • le formulaire marche tres bien
    je l’utilise pour une demande de renseignement
    quand je recoit le mail je n’ai pas l’adresse saisi pour lui repondre
    http://assau.free.fr/hand/spip.php?article3

    Répondre à ce message

  • 1

    Bonjour,

    Impossible de tester le formulaire de contact configurable, lorsque je clique sur Télécharger le plugin sur la zone, j’obtiens -> Not Found. Est-ce parce que les formulaire de contact configurable et avancé ont fusionné ?

    D’autre part, j’ai testé le plugin Formulaire de contact avancé mais je n’arrive pas tout à fait à reproduire la mise en page que je souhaiterai. En fait, je souhaiterai obtenir une mise en page semblable à l’exemple montré ici.
    Auriez-vous une piste ?

    Merci bcp

    • Le plugin contact a évolué il faut utiliser maintenant le plugin disponible sur l’article « Formulaire-de-contact-avance » (j’ai modifier le lien de téléchargement).

      Pour ce qui est de la présentation du formulaire, il s’agit d’utiliser les css. Le positionnement des champs à droite ou à gauche repose sur l’utilisation d’un float sur l’élément à positionner en s’appuyant sur le fieldset.

      Exemple :

      .formulaire_editer_contact fieldset li.editer_telephone
       {float:right;clear:right;width:42%;padding-right:10%;}

    Répondre à ce message

  • 1

    Bonjour et merci pour ce plugins.
    J’ai constaté un fonctionnement un peu particulier. je m’explique. Lorsque un Visiteurs est « logué » au site publics le mail part et arrive normalement. par contre lorsque j’essaie d’envoyer un mail sans être « logué » j’ai le message suivant :

    Fatal error : Call to undefined function sql_select() in /data/domaine/www/racinespip/plugins/contact/formulaires/contact.php on line 56.

    Quelqu’un connaît-il le problème ou ai-je simplement mal configuré
    quelque chose. Merci pour la réponse. En test sur spip 2.05.
    Merci

    • Je ne parviens pas à reproduire ce comportement.

      Quelques piste de résolution :

      • vérifier les versions des plugins.
      • vérifier la configuration, au besoin l’effacer et la refaire

    Répondre à ce message

  • 1
    mcl56420

    Comment peut-on modifier le message de validation d’envoi du formulaire ?

    • En modifiant les chaînes de langue correspondantes dans le fichier lang/contact_fr.php

    Répondre à ce message

  • 2

    J’ai mis le formualire en test sur un site. Le mail part mais n’arrive pas.

    Je regarde les logs de SPIP et je lis
    11 19:12:07 90.12.100.224 (pid 30083) Meta email_envoi invalide. Le mail sera probablement vu comme spam.

    Pas bon ça....

    • L’adresse du destinataire utilise-t-elle le même domaine que le site ?

      Sinon tu peux tenter le test en effaçant la liste des destinataire en configuration du plugin et en garnissant le champs
      onglet « intéractivité » > adresse email d’envoi optionnelle
      avec une adresse utilisant le nom de domaine.

    • OK. C’était bien cela... une adresse qui va bien dans adresse email d’envoi optionnelle et tout est rentré dans l’ordre Merci !

    Répondre à ce message

  • 5

    Bonjour,

    navigateurs (opera 9.64, firefox 3.07 et IE 7) sous wamp 2.0f et spip 2.0.5 avec couteau suisse, cfg et bonux (tous en dernière version stable de la zone), je remarque ceci sur tous les navigateurs :

    - l’écriture contact|article=2 (manque < et > sinon ça ne s’affiche pas ici) où 2 est id-article de l’article où on insère ce code) dans le texte de l’article, n’affiche rien !

    - l’écriture div class=« ajax » #FORMULAIRE_CONTACT /div (là il manque les < et > pour la balsie div car sinon le code ne s’affiche pas ici !) ajouter au squelette affiche correctement le formulaire de contact créé dans la partie configuration du plugin contact.

    par contre je remarque que même si l’article s’affiche il y a ceci qui n’est pas correct :

    - le champs « raison_sociale » ne s’affiche pas alors qu’il a bien été choisi dans la partie config et qu’apparemment son code est bien dans le code source de la page html générée par spip !
    finalement il s’affiche aux choix du champs « qui », si association ou entreprise, comme j’ai pas particulier qui s’affiche, je peux pas tester (normalement dans ce cas ce champs ne devrait pas s’afficher !)

    - le champs « qui » s’affiche mais donne seulement deux choix (entreprise ou association) j’aurai aimé comme sur votre démo en ligne avoir aussi « un particulier », sinon l’idéal serait de pouvoir personnaliser ce champs, je vais essayer de surcharger pour voir ce que ça donne !

    - le champs « nobot » si séléctionné à l’affichage et aussi comme champs obligatoire, donne une erreur de la validité du code html (je teste en xhtml 1.0 transitional, comme mon squelette), en répétant deux fois le même id (nobot) :

    Validation Output : 1 Error
    Line 294, Column 53 : ID « nobot » already defined.
    input type=« text » class=« text » name=« nobot » id=« nobot » value=« » size=« 10 »

    An « id » is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).
    Line 160, Column 51 : ID « nobot » first defined here.
    input type=« text » class=« text » name=« nobot » id=« nobot » value=« » size=« 10 »

    de plus ce champs ne s’affiche pas ? (oops, en vérifiant le code c’est normal il y a display:none !) mais qu’est ce donc ? un captcha ? une fonction javascript antispam ? (je vais voir le code pour en savoir plus).

    il manque un peu d’explications sur ce que signifient ces champs (certes certains sont évidents, d’autres le sont moins, genre infolettre, nobot, il aura fallu tester pour voir ce que c’est ?), y a t’il moyen d’ajouter une mini explication du champs en hover (au passage au-dessus de la souris, à coté du champs ou pas loin mais visible), ce n’est qu’une suggestion et jquery sait le faire ! lol

    j’aurai aimé après avoir validé le formulaire avoir un bouton qui apparait genre « afficher formulaire » (avec jquery), qui affichera le formulaire tel qu’il sera, juste à coté ou au-dessus de la partie config ! ça ira plus vite !

    sinon très bonne initiative et bon plugin !

    j’ai pas encore tout tester, je ferai un retour plus complet après.

    @+

    Sinon faudrait penser au multilinguisme aussi, je suis dispo pour travailler les langues : anglais et arabe.

    • Merci.

      1 - problème des chevrons : sur quel navigateur précisément il n’apparaissent pas ?

      2 - L’affichage du champs raison sociale est prévu qu’après que l’internaute ait renseigné le champs qui. Par ailleurs, si la config prévoit que la raison sociale soit obligatoire il n’y a pas de raison d’afficher le champs qui_particulier.

      3 - double id nobot : il ne faut pas rendre obligatoire le remplissage du champs nobot même si le plugin le permet. « nobot (champs destiné à vous prémunir contre les robots-spammeur) »

      4 - multilinguisme, c’est prévu et toutes les locutions seront demain dans le fichier lang. Il suffira donc de le dupliquer pour chaque langue.

      5 - prévisu du formulaire : en utilisant le modèle dans un article on peut voir le formulaire tel qu’il apparait dans l’espace public sauf en ce qui concerne la largeur.

      6 - pour les explications contextuelles : ça ne m’a paru nécessaire mais il est possible de les ajouter bien sûr. Tu pense à quoi par exemple ?

    • Merci pour ta réponse :

      1 - pour le problème de chevrons (écriture contact|article=id) c’est sur tous les navigateurs que j’utilise : Opera 9.64 / Firefox 3.0.7 et IE 7 (je suis sous vista et wamp 2.0f).

      2 - même dans le cas où raison sociale n’est pas obligatoire, le champs qui_particulier ne s’affiche pas ! (j’ai essayer toutes les combinaisons et ce champs ne s’affiche jamais !)

      3 - double id nobot, vous dites : « il ne faut pas rendre obligatoire le remplissage du champs nobot même si le plugin le permet », alors la sultion est simple soit vous otez ce choix de la liste des champs à pouvoir rendre obligatoire (c’est plus logique), soit vous signaler votre remarque quelque part (comme ça tout le monde pourra se retrouver !)

      4 - multilingusime : ben très bien, comme ça je pourrais apporter les traductions arabe et anglais.
      mais comment allez-vous gérer le changement de langue, le formulaire s’adaptera automatiquement à la langue de l’article ? ou bien nous pourrons spécifié en écriture : « contact|article=id|lang=en » ou encore #FORMULAIRE_CONTACT lang=#LANG ou lang=en ??

      5 - prévisu du formulaire : en utilisant le modèle dans un article on peut voir le formulaire
      le problème dans mon cas c’est plutot que comme l’écriture en modèle "contact|article=id fonctionne pas, je ne vois rien ! (même dans le back-office de spip je vois pas le formulaire).

      6- pour les explications contextuelles : Tu pense à quoi par exemple ?
      je pense à ça :

      -  soit en statique, vous créez un cadre juste en dessus de celui du titre de la page de config Configuration du formulaire de contact, dans la même colonne, et là vous rappeler les détails des champs et éventuellement d’autres remarques, vous pourez le nommé : Quelques explications

      -  soit pareil en dessous du même cadre portant le nom de la page de config (dans la même colonne), avec un effet hover vous installez un div qui affichera l’information !

      -  soit vous générez des infos bulle (tooltips) en hover sur chaque choix de la liste !

      @+

    • 5 et 1 - chez moi le raccourci <contact|id_article=xx> fonctionne normalement sous firefox comme sous safari ou opera mais il faut que l’article soit publié sinon on ne le vois pas. Pour le chevron si tu es le seul je pencherais pour un problème d’incompatibilité de configuration sinon je ne sais pas.

      2 - tu peux tenter d’effacer la feuille de config et de refaire le réglage. Chez moi ça fonctionne normalement.

      3 - c’est fait dans la version du prochain zip

      4 - le formulaire devrait s’adapter à la langue du contexte, comme dans spip.

      6 - Je pensais plus à quoi qu’à comment. En d’autres termes y a t il besoin d’explication pour le champs prénom ou pour le champs nom ? ou pour un autre champs ? si oui, quelle explication donner ?

    • 5 et 1 - j’ai vider les caches spip et navigateurs et rien ne fonctionne, mais ça reste bizzarre comme non affichage ! je vais tout réinstaller et revoir !

      2- ok ça marche après ton conseil, merci !

      3 - c’est tant mieux !

      4 - ça c’est très bien !

      5 - en répondant à ton « quoi », je dirais il y a ces champs avec ces explications :

      -  infolettre (champs vous permettant d’autoriser l’envoi de messages : lettre d’information ou autre)

      -  nobot (champs invisible destiné à vous prémunir contre les robots-spammeur).

      -  éventuellement cp (en disant que c’est le diminutif de code postal).

      Pour les autres c’est pas la peine ça devrait être clair, enfin je le crois.

      Ben faut vous mettre aussi à la place des néophytes à internet, à Spip et à l’informatique !

      @+ et Merci.

    • Pour fournir des explications sur un champs ou l’autre (excepté nobot bien sûr) il suffit d’ajouter :
      <p class="explication"><:contact:monexplicationsurlechampsquivabien:></p>
      dans le formulaire html et d’ajouter l’entrée dans le fichier lang du plugin.

      Ensuite on ajout les css et le javascript que l’on souhaite.

    Répondre à ce message

  • 1
    marabbeh

    Bonjour,

    Pourrait-on envisager que le mail du destinataire soit paramétrable ? Je m’explique :

    J’utilise le formulaire de contact pour écrire à plusieurs mails sans indiquer les adresses e-mail en clair sur le site. C’est utile sur certains sites où les visiteurs ont la possibilité de contacter plusieurs agences ou plusieurs responsables... Malheureusement cette liste des destinataires n’est jamais fixée dans le marbre, elle peut évoluer.

    Merci

    • La liste des destinataires est paramétrable en configuration. S’il s’agit d’offrir la possibilité de choix du destinataire au posteur alors il faut attendre la fusion avec l’autre formulaire de contact qui ne saurait tarder...

    Répondre à ce message

  • 2
    www.management-projet.org

    Bonjour,

    Excellent, un formulaire qui manquait !
    j’utilise SPIP 2.0.3 [13596] et bonux 2.0 et cfg.
    J’ai le message suivant qui s’affiche quand j’essaie d’activer le plugin :

    “Impossible d’activer le plugin auto/contact
    Nécessite le plugin SPIP_BONUX en version [1.3 ;] minimum.”

    Auriez-vous une idée ?
    Merci

    • Sur un SPIP 2.0.3 [13596] doté de cfg Version : 1.10.5 [26224] et de spip-bonux Version : 1.6 [26731] je viens d’activer le plugin sans qu’aucun message d’erreur ne vienne perturber l’installation de contact.

      Tu ne précises pas ta version de spip-bonux, peut-être faut y regarder de plus près ?

    • www.management-projet.org

      Merci, j’ai compris maintenant la différence entre Spip Bonux 2.0
      (que j’ai pris pour un numéro de version)
      et la version. Effectivement, ma version est : Version : 1.2 [25702]
      donc je vais installer la dernière version. Bien à vous

    Répondre à ce message

  • Je crois que les zip ne sont plus fabriqués qu’une fois par jour et donc on peut espérer que demain il sera généré...

    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