Aide Contact Center

Introduction

Contact Center est conçu pour créer des formulaires du type "Contactez-nous". Il propose les fonctions suivantes :

  • Personnalisation avancée des formulaires
  • Enregistrement des messages en Base de données
  • Gestionnaire des réponses
  • Contrôle du fonctionnement des formulaires

Ce module de création de formulaire de contact présente la particularité d'enregistrer les messages en Base de données et de proposer un suivi des messages reçus.

Définition des formulaires

Le choix du type de formulaire s'effectue dans les Préférences du module. Les syntaxes suivantes sont disponibles :
1. Eléments à afficher sur la ligne : label["*"][,type][,attribute...][,argument...]
• le label du champ, à écrire en toutes lettres
• le caractère obligatoire du champ, ajouter * après le label
• le type de champ, à placer après une virgule
,text pour un champ texte (valeur utilisée par défaut si aucune information n'est précisée)
- Pour fixer la longueur du champ, ajouter l'argument ,size (exemple : monlabel,size=5)
- Pour inscrire une valeur par défaut dans le champ, l'ajouter en toutes lettres (exemple : monlabel,size=5,mavaleur)
,checkbox,valeur pour une boîte à cocher accompagnée de sa valeur.
- Pour plusieurs boîtes, écrire : checkbox,valeur1,checkbox,valeur2,checkbox,valeur3 etc...
- Pour cocher une valeur par défaut, lui associer le signe + (exemple : monlabel,checkbox,valeur1,checkbox,valeur2+,checkbox,valeur3)
- Pour ajouter un champ de saisie libre, utiliser les signes *= suivi du label (exemple : monlabel,checkbox,valeur1,checkbox,valeur2+,checkbox,valeur3,*=others
- Mise en forme : pour aligner verticalement les boîtes à cocher placer l'instruction <br /> à la suite de chaque valeur
,radio,valeur pour un bouton radio accompagnée de sa valeur.
- Pour plusieurs bouton radios, écrire : radio,valeur1,radio,valeur2,radio,valeur3 etc...
- Pour sélectionner une valeur par défaut, lui associer le signe + (exemple : monlabel,radio,valeur1,radio,valeur2+,radio,valeur3)
- Pour ajouter un champ de saisie libre, utiliser les signes *= suivi du label (exemple : monlabel,radio,valeur1,radio,valeur2+,radio,valeur3,*=others
- Mise en forme : pour aligner verticalement les boîtes à cocher placer l'instruction <br /> à la suite de chaque valeur
,textarea pour une zone de texte.
- Pour fixer l'encombrement de la zone de saisie, ajouter l'argument ,cols pour la longueur et ,rows pour la hauteur(exemple : monlabel,textarea,cols=15,rows=10
- Pour inscrire une valeur par défaut dans le champ, l'ajouter en toutes lettres (exemple : monlabel,textarea,cols=15,rows=10,mavaleur)
,select,valeur pour une liste de choix
- Pour alimenter la liste, écrire : monlabel,select,Item1,Item2,Item3
- Pour que la liste affiche à l'état initial une valeur différente de la première, lui associer le signe + (exemple : monlabel,select,Item1,Item2+,Item3)
,const
,hidden pour masquer l'élément du formulaire (exemple : monlabel,hidden,value)
,mail pour créer un champ de saisie réservé à un e-mail (exemple : monlabel,mail). Ce type de champ :
- ne peut être utilisé qu'une fois dans le formulaire
- permet de faire l'écomomie des instructions de contrôle du contenu (équivalent de monlabel*,text,check=mail)
,multi
,file pour un champ d'upload (exemple : monlabel,file)
2. Syntaxe : [value ["+"] "="] display-value
  • , séparateur
  • * pour un champ obligatoire, à ajouter au label. Pour un élement de type checkbox et radio, *= ajoute un champ de saisie libre
  • # associe une description au formulaire (peut se placer par exemple en fin de chaîne pour commenter un champ de saisie)
  • + détermine la valeur affichée / sélectionnée par défaut dans les élements de type checkbox, radio, select
3. Validation des données utilisateur : instruction ,check
Pour contrôler la validité des saisies de l'utilisateur, utiliser l'instruction ,check. Exemples :
- ,check=require pour contrôler que l'élément du formulaire est bien renseigné (équivalent au signe * : monlabel,size=10,check=require)
- ,check=num pour contrôler que la valeur saisie est de type numérique
- ,check=mail pour contrôler que la saisie correspond à une adresse e-mail
- ,check= ... accepte d'autres expressions régulières
4. Récupération automatique des variables utilisateur
Pour que les champs de saisie soient automatiquement pré-renseignés par les informations personnelles du membre identifié, utiliser l'instruction en lettres capitales {X_LABEL}. Exemples :
- ,{X_UNAME} affiche son pseudo (exemple : Name,size=10,{X_NAME})
- ,{X_NAME} affiche son nom véritable
- ,{X_EMAIL} affiche son e-mail
- ,{X_BIO} affiche sa profession
- etc...

Exemples:

Instruction Affiche Description
Name*Name* "*" rend le champ obligatoire
Name*,size=5Name* Attribut de longueur
Name*,size=10,Default,#CommentName* Comment # associe un commentaire à l'élément du formulaire
Name,size=10,check=reqire,{X_NAME},#CommentName Comment > ,check équivaut à "*"
> {X_NAME} affiche le nom du membre (et rien pour l'utilisateur anonyme)
Selection,radio,Item1+,Item2<br/>,*=othersSelection Item1   Item2
others
> possibilité d'insérer des tags Html .
> "*" associé à un élément de type radio ajoute un champ de saisie libre.
Selection,checkbox,Item1+,Item2,Item3Selection Item1   Item2   Item3 > "+" indique la valeur par défaut d'une série
Selection,select,Item1,Item2,Item3Selection
Label,hidden,value(Not display in form) Information cachée sur le formulaire
#CommentComment
 

Formulaires personnalisés

"Description" use template in "Description type" settings not "Normal[bb]". In "template" types insert form element make variables like {Name} style.

variablesDescription
{FORM_ATTR}form attributes
{SUBMIT}Submit button
{BACK}Re-Edit button
{CHECK_SCRIPT}Checking JavaScript
{Name}Input field element of Name
{TO_UNAME} {TO_NAME}Member of group settings, uid setting user's uname and name
  • Need every variable represent once.
  • Edit contact form page's "Adding template" button makes set of variables adding in description.
  • Basicaly custom template form following variable sets (The element will be arrangement in a form tag)
  • <form {FORM_ATTR}>
    Item1: {Item1}
    Item2*: {Item2}
      :
    Item-n: {Item-n}
    {SUBMIT} {BACK}
    </form>
    {CHECK_SCRIPT}
  • [desc]Description[/desc] mean display "Description" only Input page, Not display in confirm page.
  • {TO_UNAME}, {TO_NAME} can use in normal description.
  • "Overall template" not use XOOPS themes. Display direct HTML page.
  • "Wide template" settings makes setting smarty variables $xoops_show{c,l,r}block to 0. This function to be work need to depend themes.

Astuces

Notification

Notification using XOOPS notification system. Except for contact person/group setting. Contact person/group notification occurrence any time.

  • Event notification method is use user settings.
  • Contact Person setting 'None', notification to Contact group.
  • Contact Person subscribe notification setting at the message.
  • Contact Group member can setting notification each forms.
  • Administrator can setting notification for all message.

Note for Security

In this module using XOOPS comment system. When you use Comment custamization (modules/blocks/plugins/hacks...) to display, need to carefully. Comments in this module, include private information.

For example, Using "System" module's "Recent Comments" block, there is display comment title in this module. In this case, can not read message body, but some other information will be leak.

Otherwise, Like "Whatsnew" module using, comment body display.

"Contact person" setting member of group

"Contact person" setting "Member[group]" mean choose a person when form sending, using HTTP argument "uid=YY" (YY is userid that member of group).

XOOPS_URL/modules/ccenter/index.php?form=XX&uid=YY

This setting to use assume link from other pages. Can not use stand alone in this module.

Typical use, In case "Some page that contact to auther" form. Modify template other module, for adding the link to form.