Le formulaire de contact évolue

Il s’agit de présenter une évolution du plugin « Formulaire de contact avancé ».

Les fonctionnalités ajoutées à la version 0.61 concernent la construction de la liste des destinataires et la traçabilité.

La liste des destinataires

Page de configuration du formulaire de contact

Comme pour les versions antérieures vous pouvez configurer une liste de destinataires (appelons-là liste configurée). Il est possible de transmettre une autre liste au formulaire lors de son appel (nommons-la liste transmise).

Pour établir et transmettre une liste de destinataires il faut utiliser l’une des syntaxes suivantes :

  • dans le code d’un squelette on utilisera un tableau. La liste transmise ici groupe les auteurs 1 et 15 #FORMULAIRE_CONTACT{#ARRAY{0,1,1,15}}
  • dans le texte d’un article on peut faire appel au formulaire comme si on invoquait un modèle <formulaire|contact|auteur=1,15 />

Cette version propose en plus trois types de comportement vis à vis de ces listes :

  • on ne tient pas compte de la liste transmise (règles 1, 4 et 7)
  • on concatène la liste transmise avec la liste configurée pour former une nouvelle liste dédoublonnée (règles 3, 6 et 9)
  • on utilise uniquement la liste transmise, lorsqu’elle existe, sans ce soucier de la liste configurée (règles 2, 5 et 8).

Traçabilité

Lorsqu’un site dispose de plusieurs formulaires de contact il peut-être utile de savoir depuis qu’elle page le formulaire a été posté. La version 0.61 offre cette possibilité en calculant un lien configurable vers la page du formulaire.

Pour en bénéficier, il est nécessaire de trasmettre un second argument au formulaire de contact en respectant la syntaxe objet-id_objet, par exemple pour fournir cet argument lors d’un appel au formulaire de contact dans le texte de l’article 12 on écrira le dernier argument |trace=article-12.

L’appel complet s’écrit formulaire|contact|auteur=''|trace=article-12 si on ne souhaite pas transmettre de liste d’auteur-destinataire ou formulaire|contact|auteur=3,8|trace=article-12 pour indiquer de prendre en compte les auteur 3 et 8.

Dans le cas d’une utilisation dans un squelette on écrira
#FORMULAIRE_CONTACT{#ARRAY{0,3,1,8},article-#ID_ARTICLE} ou #FORMULAIRE_CONTACT{'',article-#ID_ARTICLE} selon le cas.

Exemple de mise en œuvre

L’organisation « Yapluca » [1] exerce trois activités : « A1 », « A2 » et « A3 ». Bien sûr, il y a un chef « C1 ».
« Yapluca » organise fréquemment des « sessions de shroumf » qui évidement n’ont aucun lien avec « A1 » ou « A2 » ou « A3 » et « C1 » est trop occupé par ailleurs mais souhaite recevoir tous les messages pour archivage. Il souhaite également être le seul à recevoir les messages issus du formulaire général de contact.

Sur « yapluca .com » chaque page dispose d’un lien vers une page de contact qui doit être expédié à « C1 ». Les activités « A1 », « A2 » et « A3 » sont présentées dans des articles indépendants qui embarquent chacun leur formulaire de contact devant être expédié aux responsables d’activités. Les célèbres « sessions de shroumf » font l’objet d’annonces éditoriales à périodicité variable et dont le responsable chargé de la communication varie. En revanche, toutes les sessions doivent pouvoir bénéficier d’un formulaire de contact qui sera expédié au responsable de la session.

Pour ce site on créera un compte auteur pour chaque responsable et on placera « C1 » comme seul destinataire dans la liste configuré. On optera pour la règle n° 3 (Mettre tous ces auteurs en destinataires du courriel et leur ajouter le groupe d’auteurs éventuellement transmit au formulaire).

La page de contact général est un squelette-article. On appelle le formulaire de contact avec #FORMULAIRE_CONTACT{'',article-#ID_ARTICLE}

Dans le texte de l’article de présentation de l’activité « C1 » on invoquera <formulaire|contact|auteur=21,10|trace=article-55 /> puisque il s’agit de l’article 55, que le responsable de l’activité « A1 » porte l’identifiant 10 et que depuis peu un sous-chef vient d’être nommé avec l’identifiant 21..... Screu gneu gneu, on reproduira le même type d’appel pour les activités « A2 » et « A3 ».

Les annonces concernant les célèbres « sessions de shroumf » utilisent des brèves. On pourra apprendre à chacun des rédacteurs à faire ce type d’appel transparent <formulaire|contact|auteur=18|trace=breve-10 /> puisqu’il s’agit de la breve n° 10 et que son responsable est l’auteur 18.

Non c’est pas fini ! Nous venons d’apprendre que le responsable du site veut lui aussi recevoir tous les messages pour une période de trois mois afin de s’assurer du bon fonctionnement du système. Quelle action minimale entreprendre pour l’insérer dans ce dispositif ? Quel appel devons-nous composer pour la prochaine « sessions de shroumf » sachant que exceptionnellement c’est « C1 » qui en sera le responsable ?

Au plaisir de vous lire...

Notes

[1Toute ressemblance avec une organisation existante ou qui aurait existée ne peut-être que fortuite.

Discussion

12 discussions

  • Bonjour
    comment fait-on pour restreindre en fonction de leurs extensions les fichiers en pièces jointe du formulaire de contact.
    je veu limiter au fichiers doc, pdf, et docx

    merci d’avance

    Répondre à ce message

  • 1

    bonjour

    1 - y a t il un zip ?

    2 - l’envoi par mail du formulaire fonctionne t il ? parce que dans formulaire avancé, chez moi, ça ne fonctionnait pas...

    merci

    • je me réponds à moi-même : c’est une évolution du plugin contact avancé, donc, aller à la page du dit plugin et mettre à jour...
      voilà

    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