SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 62 visiteurs en ce moment

Accueil > Interactivité, échanges > Formulaires > Formulaire de contact configurable > Formulaire de contact avancé

Formulaire de contact avancé

23 mars 2009 – par Pierre_31, RastaPopoulos – 1407 commentaires

176 votes

Un formulaire de contact configurable, avec de multiples options.

Préambule

SPIP propose nativement #FORMULAIRE_ECRIRE_AUTEUR qui permet d’écrire à un auteur précis. On peut donc l’utiliser pour la page de contact du site, en mettant le webmestre en auteur. Cette approche peut paraître limitée. Imaginons donc un formulaire entièrement configurable.

Ce formulaire remplace — et donc supprime — le plugin « Formulaire de contact configurable » avec lequel il a fusionné. Les utilisateurs migrants de l’un à l’autre devront donc reconfigurer le formulaire. Par ailleurs, et depuis la rédaction de cet article le plugin évolue, nous vous conseillons de lire également « Le formulaire de contact évolue ».

Installation

Comme pour les autres plugins, vous devez télécharger le paquet ci-joint et placer son contenu dans votre dossier plugins/.

Vous devez utiliser PHP 5 pour faire marcher le plugin Voyez avec votre hébergeur si ce n’est pas le cas par défaut. Surtout que PHP 4 n’est plus maintenu.

Ensuite il faut aller dans l’interface de gestion des plugins, l’activer et enfin cliquer sur l’icône d’outils pour le configurer. Au préalable vous devrez installer les plugins cfg, spip-bonux, et Jquery UI.

Alternativement, vous trouverez aussi ce plugin dans la liste d’installation automatique fournie par spip-contrib (il faut pour cela avoir un dossier plugins/auto).

Utilisation

Pour afficher ce formulaire dans un squelette :

Appel classique :

Appel avec l’auteur 34 pré-selectionné :

Appel AJAX (sans rechargement de la page) :

Pour afficher ce formulaire dans un contenu :

Appel classique :

Appel avec l’auteur 34 pré-selectionné :

Appel AJAX (sans rechargement de la page) :

Configuration

Il y a trois principales choses à configurer :

  • La liste des auteurs à qui le courrier pourra être envoyé
  • La méthode de choix pour le visiteur
  • Les éventuelles informations supplémentaires

On peut choisir l’ordre des informations supplémentaires par simple glisser-déplacer à la souris. L’ordre sera gardé en mémoire et repris alors sur le site public.


Personnaliser l’affichage des champs d’informations

Par défaut, le plugin affiche un champ texte basique pour chaque information supplémentaire demandée. Mais parfois, on veut personnaliser ces champs, par exemple pour restreindre des valeurs. Et bien c’est prévu !

Pour cela, il faut connaître l’identifiant du champ que l’on veut personnaliser. Il suffit de regarder dans le HTML l’attribut name du champ. Sinon la liste complète des champs par défaut se trouve dans le fichier contact_options.php.

Vous n’avez alors plus qu’à créer un fichier : /formulaires/contact_champ_*nomduchamp*.html, dans votre dossier squelettes ou dans votre plugin.

Par exemple, si vous voulez mettre une liste déroulante pour restreindre les pays, il faut créer un fichier /formulaires/contact_champ_pays.html, dans lequel vous pourrez mettre par exemple :

  1. <li class="saisie_#ENV{name}[ (#ENV{name}|in_array{#ENV{obligatoires,#ARRAY}}|oui)obligatoire][ (#ENV*{erreurs}|table_valeur{#ENV{name}}|oui)erreur]">
  2.         <label for="info_#ENV{name}">
  3.                 #ENV{titre}[ (#ENV{name}|in_array{#ENV{obligatoires,#ARRAY}}|oui)<strong><:info_obligatoire_02:></strong>]
  4.         </label>
  5.         [<span class="erreur_message">
  6.                 (#ENV*{erreurs}|table_valeur{#ENV{name}})
  7.         </span>]
  8.         <select name="#ENV{name}" id="info_#ENV{name}">
  9.                 <option
  10.                         value="England"[
  11.                         (#ENV{#ENV{name}}|=={England}|oui)selected="selected"]>
  12.                         England
  13.                 </option>
  14.                 <option
  15.                         value="France"[
  16.                         (#ENV{#ENV{name}}|=={France}|oui)selected="selected"]>
  17.                         France
  18.                 </option>
  19.         </select>
  20. </li>

Télécharger

Dans le fichier, #ENV{name} correspondra à l’identifiant du champ, et #ENV{titre} à son titre dans la langue courante. #ENV{#ENV{name}} correspond donc à la valeur déjà tapée du champ en question.

Ajouter de nouveaux champs

Le plugin prévoit un point d’entrée qui permet, lorsqu’on s’y connecte, d’ajouter autant d’entrées que l’on veut.

Il faut tout d’abord s’inscrire dans le point d’entrée.

Soit dans un plugin

  1. <pipeline>
  2.     <nom>contact_infos_supplementaires</nom>
  3.     <inclure>un_fichier.php</inclure>
  4. </pipeline>

Télécharger

Soit dans le mes_options.php de votre site

  1. $GLOBALS['spip_pipeline']['contact_infos_supplementaires'] .= '|montruc_contact_infos_supplementaires';

Ensuite dans la fonction qui s’est insérée dans le point d’entrée :

  1. function montruc_contact_infos_supplementaires($champs){
  2.     // Le paramètre contient tous les champs par défaut avec :
  3.     // clé = le "name" du champ
  4.     // valeur = le titre du champ
  5.     $champs['nouveau_truc'] = 'Un titre';
  6.    
  7.     // Si votre site est multilingue, il faut utiliser une chaine de langue
  8.     $champs['civilite'] = _T('une_chaine_de_langue_pour_civilite');
  9.    
  10.     return $champs;
  11. }

Télécharger

Et c’est tout.
Par défaut le champ sera une entrée de texte simple, et vous pouvez le personnaliser comme décrit dans le point précédent.

Voir en ligne : https://plugins.spip.net/contact

Dernière modification de cette page le 6 novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 5 novembre 2015 à 17:32, par DD En réponse à : Formulaire de contact avancé

    Lorsque la case « Sauvegarder les messages de contacts » est cochée est-on supposé pouvoir accéder aux messages dans l’admin ? Car là je cherche mais je ne vois rien (pourtant les messages sont bien dans la base).

    Et je remarque aussi que les personnes qui remplissent le formulaire sont enregistrées dans la table spip_auteurs ? Est-ce voulu ? Comment empêcher cela ?

    Je n’aime pas trop laisser des données perso traîner sans pouvoir les supprimer (là il faut aller dans la base, c’est pas pratique pour les non-webmestres).

    Merci
    dd

    • Le 9 novembre 2015 à 00:17, par Pierre_31 En réponse à : Formulaire de contact avancé

      1- On accède aux message dans l’admin via des adresses de type ecrire/ ?exec=message&id_message=xx qui sont envoyé par mail au(x) destinataires du message.

      2- Le mail de l’internaute ayant rempli le formulaire de contact est considéré (sauf si le mail est déjà en base pour un rédacteur par exemple) comme étant celui d’un visiteur du type contact et à ce titre il est disponible dans le privé sur la page des visiteurs.

      Et voilà...

      Exercice réalisé aujourd’hui avec SPIP 3.0.21.

      En revanche je n’ait pas tester avec « décocher tous les items de la liste des destinataires » mais si les messages apparaissent en base alors il sont consultable dans l’espace privé :)

    • Le 11 décembre 2015 à 15:19, par Valéry En réponse à : Formulaire de contact avancé

      On accède aux message dans l’admin via des adresses de type ecrire/ ?exec=message&id_message=xx qui sont envoyé par mail au(x) destinataires du message.

      N’existe-t-il pas d’inferface listant les messages pour pouvoir les consulter ?

      Il n’y a pas non plus de possibilité d’export ?

    • Le 11 décembre 2015 à 17:24, par RastaPopoulos En réponse à : Formulaire de contact avancé

      Ce plugin a déjà beaucoup (trop) augmenté depuis sa base, qui était de permettre une configuration (donc mieux que ecrire_auteur) mais une configuration simple et unique.

      Si on veut vraiment gérer des réponses, lister, trier, exporter, etc : c’est le plugin Formidable qui fait ça.

    • Le 14 janvier 2016 à 11:39, par Valéry En réponse à : Formulaire de contact avancé

      Oui mais Formidable n’a pas la fonction d’envoi de fichiers :)

    • Le 16 janvier 2016 à 22:57, par DD En réponse à : Formulaire de contact avancé

      Ça marche pas..
      Accès via le compte webmestre à l’adresse :
      www.site.com/ecrire/?exec=message&id_message=25

      donne : Vous n’avez pas le droit d’accéder à la page message.

      dd

    • Le 15 juin à 12:36, par PhJ En réponse à : Formulaire de contact avancé

      Bonjour,
      J’avais le même problème. Voilà ce qui se passe :
      Lors de l’enregistrement du message, il est indiqué un id_auteur dans la table spip_messages (et un auteur est créé, ou reconnu).
      -  si cet id_auteur est le vôtre, le message apparaîtra dans la boite d’envoi.
      -  si cet id_auteur n’est pas le vôtre, vous aurez ce message d’erreur, et rien n’apparaîtra dans l’interface « Messagerie de contact ».
      -  si vous effacez (dans la base) ou remplacez par 0 cet id_auteur, vous verrez le message dans la boite de réception (avec vide dans la colonne « de »).

      Je croix qu’il faudrait modifier légèrement le code pour ne pas remplir ce champ puisqu’il ne faut pas toucher au code de spip !
      Et sûrement ne pas créer un nouvel auteur (avec le champ nom et l’émail, avec un statut contact, et un login Null), mais c’est une autre discussion. Cela empêcherait de pouvoir « répondre » dans l’admin spip, mais cela me paraît peut utile.
      Cordialement,

    • Le 16 juin à 11:35, par PhJ En réponse à : Formulaire de contact avancé

      Je me réponds après avoir regardé plus en détail.
      Le message apparaît dans la boite de réception lorsque la correspondance entre le destinataire(id_auteur) et le message (id_message) est faite dans la table spip_auteurs_liens.
      Ce lien est établi à l’enregistrement du message.
      Les modifications du destinataire ou de l’auteur dans la table spip_message ne servent à rien (mea culpa...).

    Répondre à ce message

  • Le 15 mai à 18:25, par Régis En réponse à : Formulaire de contact avancé

    QQun a-t-il réussi à intégrer le reCAPTCHA de GOOGLE sur ce plugin ?
    Nous avons été spammé par un robot qui a balancé +65000 emails en qq heures... il y a urgence pour nous à mettre en place un CAPTCHA sur notre formulaire de contact !
    Problème : celui-ci s’affiche bien, mais niveau traitement le plugin ne semble pas prévu pour intégrer ce genre de chose...
    Qqun sait-il quel est le fichier à modifier pour cela dans le code du plugin... ? Dans quelle fonction ce dernier doit se greffer... ?
    Merci vivement pour toute aide.

    Répondre à ce message

  • Le 9 mai à 14:06, par Laurent J En réponse à : Formulaire de contact avancé

    Bonjour
    L’envoi des mails via le formulaire de contact ne semble pas fonctionner quand plusieurs destinataires sont sélectionnés...
    #FORMULAIRE_CONTACT
    Plugin « Formulaire de contact avancé v.0.16.5 »
    SPIP 3.2.1
    C’est le deuxième site sous SPIP 3.2.1 où je constate ce souci...
    Quelle peut en être la cause ?

    Répondre à ce message

  • Le 23 avril à 22:04, par jeromeD En réponse à : Formulaire de contact avancé

    Bonjour,

    J’aurai besoin d’un coup de main sur un usage de ce plugin... Il me semble l’avoir installer correctement mais les mails ne partent pas sur un site réalisé...
    J’ai modifié le fichier uniquement pour éviter l’étape de prévisualisation (choix de l’utilisateur final).
    Je vous donne l’URL https://cogenevois.com/spip.php?page=contact&lang=fr si l’un d’entre vous arrive à me dire pourquoi ? Vous pouvez faire des tests car cela ne fonctionne pas et si cela fonctionne cela arrive chez moi.

    Merci d’avance pour votre aide ?

    • Le 23 avril à 22:34, par RastaPopoulos En réponse à : Formulaire de contact avancé

      Je n’arrive même pas à valider le formulaire là

    • Le 23 avril à 22:37, par jeromeD En réponse à : Formulaire de contact avancé

      Bonsoir RastaPopoulos,
      Justement c’est bien mon soucis, le bouton n’a pas d’action...même si je remets le fichier source cela ne change rien.
      Je viens de le faire en remettant le fichier avec previsu si tu veux voir ?
      Merci d’avance

    • Le 23 avril à 22:42, par RastaPopoulos En réponse à : Formulaire de contact avancé

      Oui, donc ça n’a possiblement aucun rapport avec le plugin. Il est plus probable que ce soit un problème dans l’intégration de ton site, un conflit javascript ou en CSS (des fois il y a des règles qui annulent les clics). Mais je n’ai pas vu d’erreur javascript dans la console pourtant…

    • Le 23 avril à 22:46, par jeromeD En réponse à : Formulaire de contact avancé

      Et tu aurais une idée de comment contrôlé cela ? J’avais déjà regardé pour la console.
      Car pour les CSS, il n’y a rien en recouvrement qui semblerait l’annuler ou le camoufler.

    • Le 23 avril à 22:49, par RastaPopoulos En réponse à : Formulaire de contact avancé

      Non là comme ça je n’ai pas d’idées d’où ça peut venir…

    • Le 23 avril à 22:50, par jeromeD En réponse à : Formulaire de contact avancé

      merci quand même.
      Bonne soirée

    Répondre à ce message

  • Le 26 mars à 14:02, par glebacque En réponse à : Formulaire de contact avancé

    Bonjour,

    J’utilise le formulaire de contact et je souhaiterais remplacer dans le contenu label sujet le (obligatoire) par (*) comment pourrais-je faire s’il vous plait ? Car malgré une recherche sur le site complet je ne trouve aucune variable ou fichier qui correspondrait à ce champ ou à un contenu quelconque ayant ce contenu texte dans un fichier de langue.

    Bien cordialement,

    Guillaume.

    Répondre à ce message

  • Le 22 mars à 21:52, par Roland En réponse à : Formulaire de contact avancé

    Merci.
    Je trouvais ça normal aussi, jusqu’à ce que je vois ce champ remplis avec mon propre email sur l’ordi de ma femme et sur le tél de mon fils. ça, je ne comprends pas. Et c’est gênant.
    Un lien si ça peut aider, vous voyez mon mail dans le champ « Votre email » ? J’en perds mon peu de Latin. jmcollignon.fr/Contact

    • Le 22 mars à 22:09, par RastaPopoulos En réponse à : Formulaire de contact avancé

      lol bah t’es connecté avec ton compte sur tous vos ordis…

      https://zone.spip.org/trac/spip-zone/browser/_plugins_/contact/trunk/formulaires/contact.php#L129

      Ça remplit avec l’email du visiteur en cours, c’est tout.

      Après ya si t’utilises l’options « defaut » lors de l’insertion du formulaire aussi apparemment…

    • Le 22 mars à 22:12, par Roland En réponse à : Formulaire de contact avancé

      A moitié rassuré. Mais plein d’espoir... Un effet de votre bonté, tester le lien donné et me dire ?
      Mille merci d’avance.

    • Le 22 mars à 22:42, par Roland En réponse à : Formulaire de contact avancé

      Le tél de mon fils passe par ma box en wifi, c’est pour ça ??? Si oui, je comprends mieux...
      J’ai découvert spip il y a qqs jours et je trouvais ce truc incroyablement puissant et accessible (pour quelqu’un comme moi avec seulement des bases html css). Et donc étrangement perplexe devant ce problème. Qui n’en n’est pas un apparemment. Merci pour votre aide rapide, je vais dormir tranquille.

    • Le 22 mars à 23:01, par Maïeul En réponse à : Formulaire de contact avancé

      Le mail n’est pas pré rempli chez moi.

    • Le 22 mars à 23:05, par Roland En réponse à : Formulaire de contact avancé

      OK, c’est gentil de confirmer.
      Et en passant, merci à tous ceux qui bossent sur ce projet. Depuis mes premiers sites avec NotePad jusqu’à SPIP aujourd’hui, ben, ça le fait... Beau boulot, merci encore.

    Répondre à ce message

  • Le 22 mars à 21:46, par Roland En réponse à : Formulaire de contact avancé

    Bonjour.
    Je rencontre un problème avec le formulaire de contact. Le champ « votre email » est systématiquement prérempli avec mon adresse mail (webmestre) Testé sur plusieurs sites, pour voir : C’est pareil. J’ai cherché partout un début de piste, rien à faire, ça résiste. J’imagine que c’est un truc évident, mais je suis néophyte. Curieux et obstiné, mais néophyte. Un grand merci pour votre aide éventuelle.

    Répondre à ce message

  • Le 20 mars à 13:17, par Régis En réponse à : Formulaire de contact avancé

    Bonjour à tous,

    J’ai un gros pbm de styles avec ce formulaire (il est appelé dans une page unique mais le résultat est le même sous forme d’article...) : http://vps489274.ovh.net/unsatpe/spip/?contact,21

    Je suis webmaster débutant... qqun pourrait-il m’aider SVP ?

    Merci :-)

    Répondre à ce message

  • Le 2 mars à 10:41, par Alain7159 En réponse à : Formulaire de contact avancé

    Bonjour,

    La version 0.16.4 pour spip 3.2 est-elle compatible php7 ?

    Merci pour votre réponse.

    • Le 12 mars à 23:49, par RastaPopoulos En réponse à : Formulaire de contact avancé

      Aucune idée, il faut tester :)
      N’hésite pas à le dire s’il y a un problème

      (Ce plugin reste un peu en l’état, il n’est plus vraiment maintenu depuis qu’il y a Formidable)

    • Le 14 mars à 08:44, par Alain7159 En réponse à : Formulaire de contact avancé

      Bonjour,

      Cela semble bien fonctionner. Mais si ce plugin n’est plus trop suivi, je vais voir du côté de Formidable si je trouve mon bonheur.
      En tout cas merci pour le travail fourni.

    Répondre à ce message

  • Le 16 août 2017 à 21:20, par crazyspip En réponse à : Formulaire de contact avancé

    Bonjour,

    Je mets une série de sites à jour vers la version 3.1.6 de Spip, avec formulaire de contact avancé v0.16.0.

    Je viens de faire les 2 premiers sites, l’installation se passe bien mais dans les 2 sites, lors de la prévisualisation d’un mail, j’ai le message « Il y a 2 erreurs dans votre saisie, veuillez vérifier les informations. » Malgré cela, je peux envoyer le mail et il arrive à destination, mais ça fait désordre. :-)

    Une idée ? D’avance merci.

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 23 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)

  • ScolaSPIP 4

    19 janvier 2016 – 360 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – 10 commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)

  • Mailsubscribers

    16 janvier 2013 – 408 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)

  • Nouvelle version - Modération de modifications

    29 janvier 2012 – 49 commentaires

    Suite à une migration depuis SPIP-Agora, j’ai développé ce plugin permettant de reprendre la fonctionnalité « Nouvelle version » inexistente sur SPIP2 ni sur SPIP3 Ce plugin permet d’étendre le work-flow de -rédaction-publication d’un article au cas d’un (...)