Date de publication: le vendredi 27 mai 2011 à 10h05
Dernière modification: par Pascal BOYER le vendredi 27 mai 2011 à 11h51
» Article suivant: eZ Publish : améliorer l'environnement et les performances
Table des matières
- eZ Publish : Comment créer des formulaires avec eZ Publish
- Creating a new form class -- Créer une nouvelle classe «formulaire»
- Form configuration settings -- Paramètres de configuration du formulaire
- Form template creation and modification -- Création et modification des templates du formulaire
- Creating the form object -- Créer l'objet formulaire
- Accessing collected information -- Accéder aux informations collectées
- Summary and resources -- Résumé et ressources
This article is part of the eZ Publish “How to” series and provides a step-by-step guide to creating a custom form for an eZ Publish website. To integrate with other examples in this series, this article focuses on the creation of a membership application form for the “eZ Tennis Club” website.
Cette série d'articles fait partie de la série How to (Comment faire) de eZ Publish et explique pas à pas la procédure de création d'un formulaire personnalisé. Pour l'intégrer aux autres exemples de ces How to, ces articles se focalisent sur la création d'un formulaire d'adhésion au site web Club de Tennis eZ.
The procedures in this article apply to eZ Publish 3.10.0 with the Website Interface, although the overall principles should also apply to other versions of eZ Publish with and without the Website Interface.
Les procédures décrites ici s'appliquent à eZ Publish 3.10.0 incluant l'interface Website. Cependant, l'ensemble des principes devraient également s'appliquer aux autres versions de eZ Publishcontenant ou non l'interface précitée.
We assume that you are familiar with or have a basic understanding of the following three concepts, which we explored in the previous two articles in this series: the layout of the Administration Interface; the configuration system and INI settings files; and the template system. The first article in this series - How to Configure an eZ Publish Site - explained how to set up the site for the fictional eZ Tennis Club. The second article in this series - How to Use eZ Publish Extensions: Google Analytics - gave you some practical experience on installing and configuring an extension.
Nous supposerons que vous avez assimilé les trois concepts suivants (abordés dans les deux précédents articles de cette série How to) ou en avez, tout du moins, une compréhension basique: l'
organisation de l'interface d'adminitration
, le
système de configuration et les fichiers de paramétres INI
ainsi que
le système de templates
. Le premier article de la série -
Comment configurer un site eZ Publish
- explique comment paramétrer le site pour le Club de Tennis eZ fictif. Le second article -
Comment utiliser l'extension eZ Publish «Google Analytics»
- révèle quelques expériences pratiques à propos de l'installation et de la configuration d'une extension.
Objects and information collection / Collecte des objets et de l'information
There are two methods in eZ Publish to collect and process information from site visitors:
eZ Publish propose deux méthodes pour collecter et traiter l'information depuis le site public:
Information collection: creating forms using objects with attributes marked as information collectors / Collecte de l'information : en créant des formulaires à partir d'objets contenant des attributs collecteurs d'information
This method uses the “information collection” features of eZ Publish. The most obvious example of this is the contact form (see below) present in a standard Website Interface installation.
Cette méthode utilise la fonction collecteur d'information de eZ Publish dont l'exemple le plus frappant est le formulaire de contact (voir ci-dessous) présent par défaut dans une installation Interface Website standard.
With this approach, you create an eZ Publish object that displays as a form to visitors. When visitors fill in the form, new eZ Publish objects are not created. Instead, the information is stored in a separate part of the system and, if configured to do so, emailed to a recipient. This tends to be the method of choice when the user’s input is not made public (for example, in contact forms); and when user responses are collected together for display purposes (for example, in polls).
Avec cette approche vous créez un objet eZ Publish qui affiche un formulaire aux visiteurs. Lorsque ces derniers le remplissent, un nouvel objet eZ Publish n'est pas créé. Au lieu de cela, l'information est stockée dans une partie séparée du système qui, si elle est configurée pour cela, envoie un mail à un destinataire. Ceci tend à être la méthode choisie lorsque le contenu du formulaire saisi par l'internaute n'est pas public (comme c'est le cas pour les formulaires de contact) ou bien lorsque les réponses sont collectées pour être affichées comme dans le cas des sondages.
Contact form, based on the Feedback form object
Formulaire de contact basé sur l'objet Formulaire de contact
This article goes through an example with the information collection method. The image below (click to view the full-size image) is a road map for the collected information form functions. It is a useful outline to consult when creating your own forms and when following along in this article.
Cette série d'articles illustre un exemple basé sur la méthode de collecte d'information. L'image ci-dessous (cliquez pour voir l'image dans sa pleine taille) représente le schéma des fonctions du formulaire de collecte d'informations. Cela représente un plan utile à consulter lorsque vous créez vos propres formulaires et lorsque vous suivez les présents articles.
Collected information form functions road map
Schéma des fonction du formulaire de collecte d'informations
Enabling users to create objects / Autoriser les utilisateurs à créer des objets
Under this method, the user’s input becomes part of the website as an object in the eZ Publish content node tree. An example of this is creating a new Comment object beneath an existing Article object (to be displayed when visitors view the article). For this to happen, the user must have the appropriate permissions to create the object at a given location within the content structure. Some other examples of this method are the Forum topic and Forum reply objects within an eZ Publish forum.
Lorsque vous utilisez cette méthode, les saisies des utilisateurs deviennent une partie du site web en tant qu'objet de l'arborescence de contenus de eZ Publish. La création d'un nouvel objet Commentaire sous un objet Article en est un bon exemple (commentaire qui sera affiché lorsque les visiteurs consulteront l'article). Pour que cela se produise, l'utilisateur doit avoir les permissions appropriées lui conférant le droit de créer l'objet à un emplacement donné de la structure de contenu. D'autres exemples de cette méthode sont les objets Sujets de Forumet Réponses de Forumque l'on trouve dans les forums de eZ Publish.
This approach may use eZ Publish workflows so that a site administrator must approve the user's object before it is visible on the website.
Cette approche peut faire usage des
workflows
de eZ Publish afin que l'administrateur du site approuve l'objet créé par l'utilisateur avant qu'il ne soit visible sur le site.
The table below outlines some of the characteristics of each method and is useful for readers who want to explore eZ Publish's features a bit more.
Le tableau ci-après, mettant en évidence certaines caratéristiques de chacune des méthodes, est très pratique pour les lecteurs souhaitant explorer plus avant les fonctionalités de eZ Publish.
|
Enabling users to create objects Autoriser les utilisateurs à créer des objets | Information collection/ Collect d'informations | |
|---|---|---|
| Concept |
User fills in a form that becomes a new object in the eZ Publish content structure. L'utilisateur remplit un formulaire qui devient un nouvel objet dans la structure de contenus de eZ Publish. |
User fills in a form, but this does not become a new object in the eZ Publish content structure - instead, the form is handled by eZ Publish's information collection modules and features. L'utilisateur remplit un formulaire qui ne devient pas un nouvel objet de la structure de contenus de eZ Publish - le formulaire est, au lieu de cela, pris en charge par les modules et fonctions de collecte d'information de eZ Publish. |
|
Examples basic functions Exemples de fonctions basiques |
- Article comments/ Commentaires d'articles - Forum topics and replies/ Sujets et réponses de forums. |
- Feedback forms ("contact us" forms) / Formulaires de contact (formulaires « Nous contacter») - Polls/ Sondages |
| Datatypes (voir la Documentation de référence sur les datatypes ) |
Class for the object does not use information collector datatypes. This means: La classe pour l'objet n'utilise pas de datatype collecteur d'information. Cela implique: - More datatype options / Plus d'options au niveau du datatype - Possible to use custom datatypes / Possibilité d'utiliser des datatype personnalisés |
Class for the object uses information collector datatypes. This means: La classe pour l'objet utilise des datatypes collecteurs d'information. Cela implique: - Limited datatype options / des options de datatypes limitées - Use of custom datatypes is more difficult. One method for dealing with this limitation is to pre-process form input in a custom edit template and then encode the input into a Text line datatype. L'usage de datatypes personnalisés est plus difficile. Une méthode pour contourner cette limitation consiste à pré-traiter les saisies du formulaire dans un template d'édition personnalisé puis d'encoder ces saisies dans un datatype Ligne de texte. |
| Permissions |
Set via user and user group permissions in the Administration Interface. Paramétrées via les permissions des utilisateurs et groupes d'utilisateurs de l'interface d'administration. |
May use permissions, although anonymous access can also be defined in settings in collect.ini. Utilisation possible des permission bien que l'accès anonyme puisse également être paramétré dans collect.ini |
|
What happens within eZ Publish? Que se passe t-il dans eZ Publish? |
A new object (or object awaiting approval) is created in the content node tree. Un nouvel objet (ou un objet en attente d'être approuvé) est créé dans l'arborescence de noeuds de contenu. |
No new object is created in the content node tree. Instead, a new entry is made in the collected information area under the Setup tab in the Administration Interface. Aucun nouvel objet n'est créé dans l'arborescence de noeud de contenu. Au lieu de cela, une nouvelle entrée est présente dans la partie Information recueillie de l'onglet Administrationde l'interface d'administration. |
| Actions |
Can be used in workflow processes. Peut être utilisé dans des processus de workflow. |
Option to send email showing information collected (set in collect.ini). Option pour envoyer un e-mail contenant l'information collectée (paramétré dans collect.ini) |
|
Fetch functions - how can I access and use the data collected? Focntions de recherche - comment puis-je accéder et utiliser les données collectées ? (Voir la Documentation de référence sur les fonctions fetch ) |
Normal eZ Publish content fetch functions - a rich range of access and sorting possibilities. Les fonctions normales de recherche (fetch) de contenu de eZ Publish- un riche panel de possibilités d'accès et de tri. |
A limited range of fetch functions: Un spectre limité de fonctions de recherche (fect): - collected_info_collection - collected_info_count - collected_info_count_list Some of the typical object access and sorting possibilities are unavailable in fetch functions for collected information. Pour les informations collectées, certaines des possibilités typiques d'accès et de tri sont indisponibles dans les fonctions de recherche. |
| Templates |
Standard eZ methods, using edit and view templates, or create your own custom edit and view templates. Méthode eZ Publish standard utilisant les templates de vue et d'édition ou bien créez les votres propres. |
Expect to have to make your own template to view and edit the form. This can be done using elements from the Poll and Feedback form templates. Attendez-vous à devoir créer vos propres templates d'édition et de vue du formulaire. Ceci peut être réalisé en recourant aux éléments des templates de Sondage (Poll) et de Contactez-nous (Feedback). |
Creating a custom form / Création d'un formulaire personnalisé
In this article, I will walk you through creating a custom membership application form on the eZ Tennis Club website.
Dans cet article, je vous amènerai à créer un formulaire personnalisé d'adhésion au site web du Club de Tennis eZ.
The form will collect the following information from site visitors, storing it on the site and emailing it to a specified email address:
Le formulaire recueillera les informations suivantes à partir du site public puis les stockera sur le site et enverra un e-mail contenant les données saisies à une adresse spécifiée:
- Given name / Prénom
- Surname / Nom
- Date of birth / Date de naissance
- Phone number / Numéro de téléphone
- Email address / Adresse e-mail
- Postal address / Adresse postale
- Opt-in specifications about receiving certain club information / Options permettant de recevoir certaines informations sur le club
- Open-ended questions or comments / Questions ou commentaires.
When we are done creating the form, it should look like this:
Au final, le formulaire ressemblera à ceci:
Final membership application form
Formulaire d'adhésion final
Table des matières
- eZ Publish : Comment créer des formulaires avec eZ Publish
- Creating a new form class -- Créer une nouvelle classe «formulaire»
- Form configuration settings -- Paramètres de configuration du formulaire
- Form template creation and modification -- Création et modification des templates du formulaire
- Creating the form object -- Créer l'objet formulaire
- Accessing collected information -- Accéder aux informations collectées
- Summary and resources -- Résumé et ressources
Commentaires















