La documentation du plugin SPIP-Formulaires pour vous aider à personnaliser vos squelettes à l’aide de ses critères de boucles, de ses balises et de ses formulaires.

Squelette exemple

Le squelette spip-formulaires/formulaire.html, que vous afficherez via spip.php?page=formulaire&id_formulaire=XX, est un exemple d’intégration des formulaires dans les squelettes.

Boucles FORMULAIRES

Une boucle de formulaires se code en plaçant FORMULAIRES entre parenthèses :

<BOUCLEn(FORMULAIRES) {critères...}>

Les éléments contenus dans une telle boucle sont des formulaires.

Les critères de sélection :

  • {id_formulaire}
  • {id_rubrique} retourne la liste des formulaires contenus dans la rubrique id_rubrique.
  • {id_secteur} retourne les formulaires dans ce secteur (un secteur est une rubrique qui ne dépend d’aucune autre rubrique, c’est-à-dire située à la racine du site).
  • {branche}
  • {id_auteur} retourne les formulaires correspondant à cet identifiant d’auteur (utile pour indiquer la liste des formulaires mis en ligne par un auteur).
  • {id_mot} retourne les formulaires correspondant à cet identifiant de mot-clé (utile pour indiquer la liste des formulaires traitant d’un sujet donné).
  • {titre_mot=xxxx}, ou {type_mot=yyyy} retourne les formulaires liés au mot-clé dont le nom est « xxxx », ou liés à des mots-clés du groupe de mots-clés « yyyy ». Attention, on ne peut pas utiliser plusieurs critères {titre_mot=xxxx} ou {type_mot=yyyy} dans une même boucle.
  • {id_groupe=zzzz} permet de sélectionner les formulaires liés à un groupe de mots-clés ; principe identique au {type_mot} précédent, mais puisque l’on travaille avec un identifiant (numéro du groupe), la syntaxe sera plus « propre ».
  • {lang} sélectionne les formulaires de la langue demandée dans l’adresse de la page.
  • {date=...} permet de sélectionner un formulaire en fonction de sa date de publication.
  • {type=une_seule_page} sélectionne les formulaires d’une seule page.
  • {type=plusieurs_pages} sélectionne les formulaires de plusieurs pages.
  • {statut=hors_ligne} sont les formulaires hors-ligne ;
  • {statut=en_ligne} sont les formulaires en ligne ;

Par défaut, une boucle FORMULAIRES sélectionne implicitement les formulaires ayant le {statut=hors_ligne/en_ligne}.

Les balises :

  • #ID_FORMULAIRE affiche l’identifiant unique du formulaire.
  • #ID_RUBRIQUE est l’identifiant de la rubrique dont dépend le formulaire.
  • #TITRE retourne le titre du formulaire.
  • #DESCRIPTIF retourne le descriptif du formulaire.
  • #CHAPO retourne le chapeau du formulaire.
  • #TEXTE retourne le texte principal du formulaire.
  • #PS retourne le post-scriptum du formulaire.
  • #MERCI est le message affiché lors de la validation du formulaire.
  • #DATE retourne la date de publication du formulaire.
  • #LANG donne la langue du formulaire.
  • #MAJ retourne la date de dernière mise-à-jour.
  • #URL_FORMULAIRE est l’URL de la page du formulaire, le squelette concerné est formulaire.html.
  • #FORMULAIRE_AUTOMATIQUE affiche les blocs, les questions et les choix en fonction du type de formulaire.
  • #LOGO_FORMULAIRE le logo du formulaire, éventuellement avec la gestion du survol.

Les squelettes :

Par défaut formulaire.html est le squelette utilisé pour afficher un formulaire (titre, texte, formulaire, ...)

Boucles BLOCS

Un bloc peut être un fieldset ou une page du formulaire. Si le formulaire est du type une_seule_page alors tous les blocs du formulaires seront affichés sur la même page. Si le formulaire est du type plusieurs_pages alors chaque page ou étape du formulaire sera un bloc.

Une boucle de blocs se code en plaçant BLOCS entre parenthèses :

<BOUCLEn(BLOCS) {critères...}>

Les éléments contenus dans une telle boucle sont des blocs.

Les critères de sélection :

  • {id_bloc}
  • {id_formulaire}
  • {ordre}

Par défaut, une boucle BLOCS est triée par {ordre} croissant.

Les balises :

  • #ID_BLOC
  • #ID_FORMULAIRE
  • #TITRE
  • #DESCRIPTIF
  • #TEXTE
  • #URL_BLOC balise utile aux formulaires sur plusieurs pages

Boucles QUESTIONS

Une boucle de questions se code en plaçant QUESTIONS entre parenthèses :

<BOUCLEn(QUESTIONS) {critères...}>

Les éléments contenus dans une telle boucle sont des questions.

Les critères de sélection :

  • {id_question}
  • {id_bloc}
  • {ordre}
  • {type=champ_texte}
  • {type=zone_texte}
  • {type=boutons_radio}
  • {type=cases_a_cocher}
  • {type=liste}
  • {type=liste_multiple}
  • {type=email_applicant}
  • {type=nom_applicant}
  • {type=abonnements}
  • {type=fichier}
  • {type=auteurs}
  • {obligatoire=1/0}
  • {controle=non_vide}
  • {controle=email}
  • {controle=email_applicant}
  • {controle=url}
  • {controle=nombre}
  • {controle=date}

Par défaut, une boucle QUESTIONS est triée par {ordre} croissant.

Les balises :

  • #ID_QUESTION
  • #ID_BLOC
  • #TITRE
  • #DESCRIPTIF
  • #TYPE
  • #OBLIGATOIRE
  • #CONTROLE
  • #EMAIL_APPLICANT affiche l’email de l’usager. Une boucle APPLICATIONS doit être présente dans le contexte.
  • #NOM_APPLICANT affiche le nom de l’usager. Une boucle APPLICATIONS doit être présente dans le contexte.
  • #REPONSE retourne la réponse (unique) d’une usager à la question en cours. Une boucle APPLICATIONS doit être présente dans le contexte.
  • #REPONSES retourne un tableau avec les réponses de l’usager concernant la question en cours. Une boucle APPLICATIONS doit être présente dans le contexte.
  • #ABONNEMENTS retourne un tableau avec les abonnements de l’usager concernant la question en cours - de type abonnement. Une boucle APPLICATIONS doit être présente dans le contexte.
  • #MIMES_TYPE affiche les types de fichier (mimes) autorisés pour une question de type fichier
  • #TYPES_FICHIER_AUTORISES affiche les noms des types de fichier autorisés pour une question de type fichier
  • #TYPES_FICHIER_AUTORISES affiche les noms des types de fichier autorisés pour une question de type fichier
  • #UPLOAD_MAX_SIZE affiche la taille maximale des fichiers à uploader.

|formulaires_afficher_erreur{#CONTROLE} à appliquer sur un booléen, est un filtre permettant d’afficher l’intitulé d’une erreur en fonction du formatage souhaité.

Exemple :
[(#ID_QUESTION|in_any{#ENV**{erreurs}, ''}|formulaires_afficher_erreur{#CONTROLE})]

Boucles CHOIX_QUESTION

Pour les questions de type : cases à cocher, boutons radio, listes, abonnements, auteurs ; on propose à l’usager plusieurs choix. Une boucle de choix se code en plaçant CHOIX_QUESTION entre parenthèses :

<BOUCLEn(CHOIX_QUESTION) {critères...}>

Les éléments contenus dans une telle boucle sont des choix de question.

Les critères de sélection :

  • {id_choix_question}
  • {id_question}
  • {ordre}
  • {id_rubrique} lorsque la question parente est de type abonnements
  • {id_auteur} lorsque la question parente est de type auteurs

Les balises :

  • #ID_CHOIX_QUESTION
  • #ID_QUESTION
  • #TITRE
  • #ID_RUBRIQUE
  • #ID_AUTEUR

Boucles APPLICATIONS

Une boucle de résultat de formulaire se code en plaçant APPLICATIONS entre parenthèses :

<BOUCLEn(APPLICATIONS) {critères...}>

Les éléments contenus dans une telle boucle sont des résultats de formulaire.

Les critères de sélection :

  • {id_application}
  • {id_applicant}
  • {id_formulaire}

Les balises :

  • #ID_APPLICATION
  • #ID_APPLICANT
  • #ID_FORMULAIRE

Note : les balises #REPONSE, #REPONSES et #ABONNEMENTS ont besoin de se trouver dans des boucles APPLICATIONS pour fonctionner correctement.

Boucles APPLICANTS

Une boucle d’usager de formulaire se code en plaçant APPLICANTS entre parenthèses :

<BOUCLEn(APPLICANTS) {critères...}>

Les éléments contenus dans une telle boucle sont des usagers de formulaire.

Les critères de sélection :

  • {id_applicant}
  • {email}

Les balises :

  • #ID_APPLICANT
  • #EMAIL
  • #NOM
  • #MDP

Boucles REPONSES

Une boucle de réponses se code en plaçant REPONSES entre parenthèses :

<BOUCLEn(REPONSES) {critères...}>

Les éléments contenus dans une telle boucle sont des réponses.

Les critères de sélection :

  • {id_reponse}
  • {id_question}
  • {id_application}
  • {valeur}

Les balises :

  • #ID_REPONSE
  • #ID_QUESTION
  • #ID_APPLICATION
  • #VALEUR

Pour simplifier les squelettes les balises #REPONSE et #REPONSES peuvent se substituer à ces boucles.

Cookies

SPIP-Formulaires utilise des cookies pour identifier les internautes lorsqu’ils répondent aux formulaires. A la validation d’un formulaire, 2 cookies cryptés (via la librairie php mcrypt) sont posés chez l’usager : spip_formulaires_mcrypt_iv et spip_formulaires_id_applicant. Les formulaires #FORMULAIRE_AUTOMATIQUE, #FORMULAIRE_ESPACE_FORMULAIRE, #FORMULAIRE_LOGIN_FORMULAIRE et #FORMULAIRE_OUBLI_FORMULAIRE intègrent les fonctions d’authentification. Ces fonctions décryptent les informations contenues dans les cookies spip_formulaires_mcrypt_iv et spip_formulaires_id_applicant, si l’authentification s’est bien déroulée, l’id_applicant est envoyé aux squelettes d’un formulaire pour extraire les réponses de la base de données et les afficher avec des boucles APPLICATIONS ou REPONSES ou encore avec des balises #REPONSE, #REPONSES et #ABONNEMENTS.

#FORMULAIRE_AUTOMATIQUE

Ce formulaire affiche les blocs, les questions et leurs choix de manière automatique. Il utilise 3 squelettes pour génerer le HTML :

  • formulaires/formulaire_automatique_une_seule_page.html tous les blocs sont affichés sur la même page
  • formulaires/formulaire_automatique_plusieurs_pages.html chaque bloc correspond à une page ou étape
  • formulaires/formulaire_automatique_merci.html est utilisé une fois un formulaire validé

Lorsque le formulaire est réglé pour envoyer les résultats d’un formulaire aux auteurs, une notification est envoyée. Les squelettes de cette notification : notifications/notification_nouveau_resultat_html.html, notifications/notification_nouveau_resultat_texte.html et notifications/notification_nouveau_resultat_titre.html peuvent être personnalisés.

Note : #FORMULAIRE_AUTOMATIQUE n’est pas un formulaire CVT, il n’est pas ajaxable.

#FORMULAIRE_ESPACE_FORMULAIRE

Accessible via spip.php?page=espace_formulaire, ce formulaire liste les formulaires auxquels l’usager a répondu ou auxquels il est invité. Un usager peut de cette manière accéder à la rectification/suppression de ses saisies.

formulaires/formulaire_espace_formulaire.html pour personnaliser les squelettes.

La balise #URL_ACTION_LOGOUT_FORMULAIRE permet à l’usager de se déconnecter.

#FORMULAIRE_LOGIN_FORMULAIRE

Pour authentifié l’usager.

Vous pouvez personnaliser les squelettes de formulaires/formulaire_login_formulaire.html.

#FORMULAIRE_OUBLI_FORMULAIRE

Accessible via spip.php?page=oubli_formulaire, ce formulaire permet à un usager de récupérer son mot de passe à l’espace formulaire via une notification.

formulaires/formulaire_oubli_formulaire.html pour personnaliser les squelettes.

Les squelettes de la notification envoyée à l’usager : notifications/notification_oubli_formulaire_html.html, notifications/notification_oubli_formulaire_texte.html et notifications/notification_oubli_formulaire_titre.html peuvent être personnalisés.

#URL_FORMULAIRE_ESPACE_FORMULAIRE permet de retourner à l’espace formulaire.

 
Général
Accueil
Entreprise
Contacter notre équipe pour un projet
Blog
Espace projets
Flux RSS
Glossaire
Mentions légales
Services
Imprimé
Internet
Formation
Plugins SPIP
Studio Photo
Mobile
Boutique
Espace client
Panier
Portfolio RSS
Institutions - Organisations
Industries
Services
Commerce - Artisanat
Maison de Champagne
Immobilier
Imprimés
Plugins SPIP
Lettre d’information
Boutique électronique
Plans interactifs
Prévisions météo
Sondages
Envoi de notifications
Intégration dans SPIP
Mémorandum
Générateur de formulaires
Liens de traductions entre rubriques
Blog RSS
Podium pour 3 sites réalisés par Artégo aux Trophées du Web 2010
SPIP-Plans pour SPIP-2
SPIP-Traductions-Rubriques pour SPIP-2
SPIP-Formulaires pour SPIP-2
SPIP-Sondages pour SPIP-2