SPIP-Contrib

SPIP-Contrib

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

273 Plugins, 191 contribs sur SPIP-Zone, 38 visiteurs en ce moment

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

Formulaire de contact avancé

23 mars 2009 – par Pierre_31, RastaPopoulos – 1041 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

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

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>

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

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.

Retour en haut de la page

Vos commentaires

  • Le 3 février à 21:06, par VideoMAN En réponse à : Formulaire de contact avancé

    bonjour

    comment faire pour que le formulaire de contact envoi le message à l’un des destinataires (lorsqu’en a activé la liste) de l’envoyer en copie à un destinataire qui serait automatiquement et systématiqueement le réceptionnaire principal.

    si j’ai une liste qui contient les destinataires : A, B, C et D ; quelque soit le destinataire choisit ; je veux qu’une copie soit envoyé au destinataire par défaut B par exemple dans ce cas, sinon comment spécifié un autre email qui ferait office de réceptionnaire par défaut.

    cordialement,

    Répondre à ce message

  • Le 1er février à 16:00, par jacangers En réponse à : Formulaire de contact avancé

    bonjour je reviens avec ma question sur les zones obligatoires

    si je ne veux pas que la zone « texte » soit obligatoire, je modifie le fichier « contact_champ_texte.html » en supprimant <:info_obligatoire_02 :>. Cela modifie bien le libellé, mais le champ lui est toujours obligatoire lors du controle de saisie ?? Quels sont les paramétres à modifier pour supprimer ce controme sur les champs de base ?

    merci

    jacques

    • Le 1er février à 17:06, par RastaPopoulos En réponse à : Formulaire de contact avancé

      Rien n’est prévu pour ça, ce n’est pas le but de ce plugin qui est de créer un formulaire de contact, un peu configurable certes, mais simple.

      Pour faire plus il faut utiliser un plugin de générateur de formulaires quelconques, tel que Formidable.

    Répondre à ce message

  • Le 15 novembre 2011 à 12:44, par gregol En réponse à : Formulaire de contact avancé

    Bonjour,

    Dans l’Admin, je ne trouve plus mes messages enregistrés une fois que je les lis pour la première fois dans la « Messagerie personnelle » (icon d’envelope). Est-ce un bug ou je cherche pas au bon endroit :)

    J’ai les versions les plus récentes de Spip 2 et des plugins.

    A bientôt,
    G

    • Le 16 décembre 2011 à 10:15, par gregol En réponse à : Formulaire de contact avancé

      Personne partage mon problème ?
      J’ai pourtant coché « Sauvegarder les messages de contacts »
      Mais où sont-ils une fois qu’ils sont lu pour la première fois ???
      J’ai beau chercher partout sur l’admin...

      G

      PNG - 74.2 ko
    • Le 30 décembre 2011 à 11:23, par Tatouille En réponse à : Formulaire de contact avancé

      J’ai le même problème avec les versions les plus récentes de spip également.

      J’ai réussi à avoir la liste de mes messages lus, en tapant dans l’url directement : ’ ?exec=contact_messages’.

      Mais je ne vois nulle part un lien à proprement parlé qui redirige sur cette liste.

    • Le 31 décembre 2011 à 14:06, par gregol En réponse à : Formulaire de contact avancé

      Je ne suis donc pas fou

       ;)

    • Le 19 janvier à 14:09, par mirobolus En réponse à : Formulaire de contact avancé

      Si toutefois quelqu’un lit ces messages, je rejoins les remarques ci-dessus concernant la visualisation des messages reçus dans l’espace privé : pourquoi ne pas les intégrer à la zone de Messagerie existante ?
      Merci ;-)

    • Le 19 janvier à 18:31, par gregol En réponse à : Formulaire de contact avancé

      C’est parce qu’il y en a plus que pour spip 3 ;)
      G

    Répondre à ce message

  • Le 15 janvier à 18:51, par robbynash En réponse à : Formulaire de contact avancé

    Bonjour
    j’ai un soucis avec le formulaire.
    J’ai installé spip version 2.1.12, je n’ai pas eu de problème jusqu’au formulaire. J’ai installé Jquery spip bonux et formulaire de contact avancé.
    J’ai le même problème qu’un précédent message de frannie. j’ai copie le SetEnv PHP_VER 5 dans le fichier htaccess.txt. Mais rien n’y fait je n’arrive pas à cocher de Civilité à Afficher la barre typo complète.
    est ce que le SetEnv PHP_VER 5 doit être mis à une ligne bien spécifique dan le fichier texte.

    Je vous remercie de votre aide, cela fait 2 heures que je planche la-dessus.

    Cordialement

    Répondre à ce message

  • Le 13 janvier à 18:40, par Eric En réponse à : Formulaire de contact avancé

    Bonjour,

    J’ai peut-être raté quelque chose, mais je comprends pas très bien ce passage :
    « Ensuite dans la fonction qui s’est insérée dans le point d’entrée… »

    C’est quelque chose que l’on trouve dans CFG ? dans le plugin ? Que ce sont ces fameux points d’entrée ?
    je dois le copier à la suite dans mes_fonctions ?

    Merci !

    Répondre à ce message

  • Le 12 janvier à 14:07, par jacangers En réponse à : Formulaire de contact avancé

    supprimer des zones obligatoire :

    bonjour je cherche a supprimer certaines obligations
    pour la zone texte par exemple, si je supprime <:info_obligatoire_02 :> dans formlaires/contact_champ_texte.html, le libellé est bien supprimé mais pas le contrôle.

    et pour la zone « Intitulé de la réalisation », je ne vois absolument pas ou je peux la modifier ?

    pouvez vous m’eclairer ?

    jacques

    Répondre à ce message

  • Le 10 janvier à 09:48, par ? En réponse à : Formulaire de contact avancé

    Bonjour,

    je suis nouveau dans Spip, alors veuillez m’excuser si j’ère un peu. Comme dis thiefaine, errer humanum est !

    Je n’arrive pas à afficher les champs supplémentaires, je n’ai que 2 champs qui s’affichent : email et message. Pourriez vous m’aider ? J’ai pourtant bien lu les conditions d’utilisation....

    Je suis sous spip 2.1.11. Merci d’avance

    Répondre à ce message

  • Le 4 janvier à 13:01, par Juego En réponse à : Formulaire de contact avancé

    Hello,

    Déjà merci pour ce plugin. Petite question : serait-ce possible de « désactiver » les champs « sujet » et « texte » et comment ? J’ai essayé de désactiver ces options en allant commenter les champs adéquois dans le fichier contact_options.php, mais sans succès.

    Ma demande est peut-être un peu étrange, mais je cherche un à ce que les visiteurs envoient leurs coordonnées complètes sans nécessairement envoyer de message. Peut-être que je me trompe de plugin.

    Merci pour les suggestions.

    Répondre à ce message

  • Le 9 décembre 2011 à 15:41, par Formidable En réponse à : Formulaire de contact avancé

    Salut,

    Tout marche bien, pas de messages d’erreurs.
    Mais... pas de mail reçu :(
    Aussi je ne vois pas où configurer le plugin, pas d’icone outils chez moi :|

    Répondre à ce message

  • Le 9 décembre 2011 à 11:44, par spiper En réponse à : Formulaire de contact avancé

    Salut,

    où trouver l’icône d’outils pour les plugins ?

    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

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 32 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1041 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un formulaire de contact configurable, avec de multiples options.

  • Squelette Multi-Saisons

    19 février 2009 – 226 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un squelette qui change de couleurs suivant les saisons, un graphisme tout en rondeurs et de très nombreuses options.

  • JQuery Masonry

    15 août 2011 – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin est un portage pour Spip du plugin jQuery Masonry de David DeSandro : http://masonry.desandro.com/ Principe Ce plugin réorganise les blocs de votre page page d’après une grille (de manière verticale et horizontale) pour réduire au maximum (...)

  • Thélia

    26 juin 2007 – 835 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne