Document 6495615

Transcription

Document 6495615
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
How to Create eZ Publish Forms
Paul Wilson
Friday 14 December 2007 10:35:00 pm
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.
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.
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.
Objects and information collection
There are two methods in eZ Publish to collect and process information from site visitors:
Information collection: creating forms using objects with attributes marked as information collectors
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.
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).
1 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Contact form, based on the Feedback form object
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.
Collected information form functions road map
2 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Enabling users to create objects
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.
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.
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.
Enabling users to create objects
Information collection
Concept
User fills in a form that becomes a new
object in the eZ Publish content structure.
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.
Examples
basic functions
- Article comments
- Forum topics and replies
- Feedback forms ("contact us" forms)
- Polls
Datatypes
Class for the object does not use
information collector datatypes. This
means:
- More datatype options
- Possible to use custom datatypes
Class for the object uses information
collector datatypes. This means:
- Limited datatype options
- 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.
Permissions
Set via user and user group permissions in
the Administration Interface.
May use permissions, although anonymous
access can also be defined in settings in
collect.ini.
What happens
within eZ Publish?
A new object (or object awaiting approval)
is created in the content node tree.
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.
Actions
Can be used in workflow processes.
Option to send email showing information
collected (set in collect.ini).
(see the Reference
documentation on
datatypes)
3 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Fetch functions how can I access
and use the data
collected?
Normal eZ Publish content fetch functions a rich range of access and sorting
possibilities.
A limited range of fetch functions:
- 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.
Standard eZ methods, using edit and view
templates, or create your own custom edit
and view templates.
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.
(see the Reference
documentation on
fetch functions)
Templates
Creating a custom form
In this article, I will walk you through creating a custom membership application form on the eZ Tennis Club website.
The form will collect the following information from site visitors, storing it on the site and emailing it to a specified
email address:
Given name
Surname
Date of birth
Phone number
Email address
Postal address
Opt-in specifications about receiving certain club information
Open-ended questions or comments
When we are done creating the form, it should look like this:
4 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Final membership application form
Creating a new form class
The first step in creating the membership application form is to create a class for the object that will collect the
information from visitors.
To do this, log in to the Administration Interface and click on the Setup tab. In the left menu, click the Classes link:
5 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Click on the Classes link
Then, in the Class groups window, click the Content link. Our form will appear in the Content branch of the site's
node tree and thus be under this group:
"Content" class group
You are then presented with a list of all the existing classes in the Content class group. At the bottom of this list,
click the New class button:
New class button
This will then display the Class edit interface:
Class edit interface
In our example, the name of the form is “Membership Application Form”, its identifier is
“membership_application_form” and the object name pattern is “<form_name>”.
To add an attribute, select the datatype from the dropdown list at the bottom of the page and click the adjacent Add
attribute button. Then, fill in the necessary information for the attribute. Repeat this in order to add subsequent
attributes:
6 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Add attribute
Note that the attributes that will collect information (through form fields presented to the visitor) need to have the
Information collector checkbox marked:
Information collector checkbox
Rather than repeating the explanation of the steps to add each attribute, the information for all the attributes is
summarized in the table below:
7 of 21
Name
Identifier
Datatype
Required
Searchable
Information collector
Form Name
form_name
Text line
Yes
Yes
No
Form
Introduction
form_introduction
XML
block
No
Yes
No
Given Name
given_name
Text line
Yes
No
Yes
Family Name
family_name
Text line
Yes
No
Yes
Date of Birth
date_of_birth
Date
Yes
No
Yes
Contact Phone
Number
contact_phone_number
Text line
Yes
No
Yes
Email Address
email_address
E-mail
Yes
No
Yes
Postal
Address
postal_address
Text
block
Yes
No
Yes
Please send
me information
about the
club's tennis
option_play_in_tournaments
Checkbox
No
No
Yes
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
tournaments
Please send
me information
about tennis
classes and
professional
coaching
option_classes_and_coaching
Checkbox
No
No
Yes
I would like to
receive the
monthly club
newsletter by
email
option_club_newsletter
Checkbox
No
No
Yes
Please keep
me informed
about the
club's social
events and
competitions
option_social_events_
competitions
Checkbox
No
No
Yes
Can we help
by answering
any
questions?
other_questions
Text
block
No
No
Yes
Membership
Coordinator
E-mail Address
membership_coordinator_email_
address
E-mail
Yes
No
No
Re-organizing class attributes
Sometimes, when creating a class, it is useful to change the order of the attributes. This determines the order of
attributes presented when a user creates an object (thus creating the form). If a custom template to display the form
is not used, then this order also determines the order of the fields when the object / form is viewed on the front-end
of the site. The elements highlighted below can be used to re-order attributes.
Reorganize class attributes
8 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
There are two ways to re-order attributes:
Use the arrow buttons to shift the current attribute up or down one position in the class attribute list; or
Change the attribute numbers, which can be faster than moving attributes with the arrow keys if you need to
re-order many attributes at once.
When using the first method, the page will automatically reload with the attribute order changed. However, if the
attributes are renumbered using the second method, you must click the Apply button (or OK button if you are
finished editing the class) to store the changes.
Apply button
Saving the new class
Once you have entered all the relevant attribute information, click the OK button to add the new class.
The next step is to modify the appropriate INI settings in order to configure the form.
Form configuration settings
Defining how information is collected
The settings/collect.ini file contains some useful form options.
Recall from the first article in this series that eZ Publish reads basic settings from the default INI files, which are
overriden by any settings in the specific siteaccess overrides, which are overridden by settings in the global override
files. You should never modify the default INI files.
The settings below should be created in the file collect.ini.append.php located either:
In the directory for the siteaccess (in settings/siteaccess/[name_of_siteaccess]/) that will display the form; or
In the override directory (in settings/override/), meaning it will apply to all siteaccesses.
If the override file does not already exist, you must create it.
The sections below show the settings that need to be included in the INI file. Note that lines starting with hash
symbols are comments.
[InfoSettings] block
The setting below specifies that there is an information collector based on the class ID
“membership_application_form”, and that the identifier for the information collector is the same as the class name.
[InfoSettings]
# Matches class id or identifier to information collection type
TypeList[membership_application_form]=membership_application_form
[EmailSettings] block
Sometimes it is useful to send an email summarizing the results of each form submission. This is not required for
objects such as polls, but we will use it in our membership application form.
9 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
[EmailSettings]
# Matches class id or identifier to information collection type
# SendEmailList[poll]=disabled
SendEmailList[membership_application_form]=enabled
[DisplaySettings] block
The DisplayList setting specifies the page that should be loaded after the form is submitted. There are three main
options:
Result – Displays a "result" template (such as a poll result or a confirmation page), typically located in
[design_extension]/templates/content/collectedinfo/. This is the option we will choose for our membership
application form.
URL – Load a specific URL.
Node – Redirect back to the original content node. For example, a user filling in a form would be redirected
back to the page containing the blank form. In this case, you can configure the form template to display some
confirmation text above the blank form to acknowledge the submission.
[DisplaySettings]
# result - Display IC result, for instance poll result or your form data
# redirect - Redirect to a specific url
# node
- Redirect back to content node
# Matches class id or identifier to information collection type
#DisplayList[poll]=result
DisplayList[membership_application_form]=result
[CollectionSettings] block
Some forms need to be available to anonymous users. This is determined by the setting below.
[CollectionSettings]
# if enabled then information from anonymous users can be collected
# CollectAnonymousData=enabled
# Same as CollectAnonymousData but is a list of IC types and
# their override settings, if specified it will override default setting
CollectAnonymousDataList[membership_application_form]=enabled
The CollectionUserData setting specifies how to handle users submitting a form multiple times, and is explained well
in the comments to the setting.
# How information collection is handled in terms of user identification
#
# multiple - each user can submit multiple data
# unique
- one set of data per user, if already exists give a warning
# overwrite - one set of data per user but new entry overwrites old one
CollectionUserData=multiple
# Matches class id or identifier to information collection type
#CollectionUserDataList[feedback]=multiple
CollectionUserDataList[membership_application_form]=multiple
Making the form visible in the site’s menus
eZ Publish does not automatically include objects of a new class in the default top or left site menus. For example,
the top menu displays the objects that are directly below the top-level node of the Content branch, but only for the
classes specified in menu.ini. Similarly, the left menu displays the objects that are directly below the second-level
node that is currently being viewed, but also only for the classes specified in menu.ini. The new Membership
Application Form class needs an entry in the relevant menu.ini file.
10 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
This example uses the Website Interface extension, so either of these settings override files can be edited:
/extension/ezwebin/settings/menu.ini.append.php
OR
/settings/override/menu.ini.append.php
The entries added are shown below.
menu.ini settings
This may not be necessary for all forms if you do not need them to be visible in the top or left menus (for example, if
you are just going to link to the form in the body of an article). In our case, we have added the appropriate entries to
both the TopIdentifierList setting (objects of these classes are shown in the flat_top menu template at
extension/ezwebin/design/ezwebin/templates/menu/flat_top.tpl), and the LeftIdentifiersList setting (objects of these
classes are shown in the flat_left menu template at extension/ezwebin/design/ezwebin/templates/menu/flat_left.tpl).
11 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Menu areas
Form view template INI settings
Without an override template, eZ Publish will use the /node/view/full.tpl template to display the form, but that
template does not include the elements required to display and process the form properly.
To point eZ Publish to the correct template (which we will create next), edit the override.ini.append.php file for each
siteaccess, such as the “eng” siteaccess:
/settings/siteaccess/eng/override.ini.append.php
Add the following entry to the override file:
[full_membership_application_form]
Source=node/view/full.tpl
MatchFile=full/membership_application_form.tpl
Subdir=templates
Match[class_identifier]=membership_application_form
Form template creation and modification
Creating the full view template
The next step is to create the template file that was defined in the override.ini.append.php settings file.
In this example, the new form template will be placed in the appropriate folder within the directories for the Website
Interface extension:
/extension/ezwebin/design/ezwebin/override/templates/full/membership_application_form.tpl
The easiest thing to do is to copy the template for the default eZ Publish feedback form (feedback_form.tpl) from the
same directory and adapt it to the new form. Our membership_application_form.tpl template is shown below. For more
information about the eZ Publish template language, see the templates section of the technical manual or the eZ
Publish Basics book.
12 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
{* Membership Application Form - Full view *}
<div class="border-box">
<div class="border-tl"><div class="border-tr"><div class="border-tc"></div></div></div>
<div class="border-ml"><div class="border-mr"><div class="border-mc float-break">
<div class="content-view-full">
<div class="class-membership-application-form">
<div class="attribute-header">
<h1>{$node.name|wash()}</h1>
</div>
{* validation *}
{include name=Validation uri='design:content/collectedinfo_validation.tpl'
class='message-warning'
validation=$validation collection_attributes=$collection_attributes}
{* form introduction *}
<div class="attribute-short">
{attribute_view_gui attribute=$node.data_map.form_introduction}
</div>
<form method="post" action={"content/action"|ezurl}>
{* Given Name *}
<h4>{$node.data_map.given_name.contentclass_attribute.name}</h4>
<div class="attribute-given-name">
{attribute_view_gui attribute=$node.data_map.given_name}
</div>
{* Family Name *}
<h4>{$node.data_map.family_name.contentclass_attribute.name}</h4>
<div class="attribute-family-name">
{attribute_view_gui attribute=$node.data_map.family_name}
</div>
{* Date of Birth *}
<h4>{$node.data_map.date_of_birth.contentclass_attribute.name}</h4>
<div class="attribute-date-of-birth">
{attribute_view_gui attribute=$node.data_map.date_of_birth}
</div>
{* Contact Phone Number *}
<h4>{$node.data_map.contact_phone_number.contentclass_attribute.name}</h4>
<div class="attribute-phone">
{attribute_view_gui attribute=$node.data_map.contact_phone_number}
</div>
{* Email Address *}
<h4>{$node.data_map.email_address.contentclass_attribute.name}</h4>
<div class="attribute-email">
{attribute_view_gui attribute=$node.data_map.email_address}
</div>
{* Postal Address *}
<h4>{$node.data_map.postal_address.contentclass_attribute.name}</h4>
<div class="attribute-postal_address">
{attribute_view_gui attribute=$node.data_map.postal_address}
</div>
{* Information – Play in Tournaments *}
<div class="attribute-option">
{attribute_view_gui attribute=$node.data_map.
option_play_in_tournaments}{$node.data_map.
option_play_in_tournaments.contentclass_attribute.name}
</div>
13 of 21
{* Information – Classes and Coaching *}
<div class="attribute-option">
This work is licensed
under
a Creative
Commons Attribution-NonCommercial-NoDerivs
{attribute
view
gui attribute=$node
data map
Copyright © 1999-2007 eZ Systems AS
2.5 License
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
The template above displays as follows:
Result of membership application form template
Note that this article does not cover CSS issues to customize the style of the form. See How to Skin an eZ Publish
Site for more information about editing the CSS for a Website Interface site.
Translating form elements
In our template, the labels for the form fields (such as "Given Name" and "Postal Address") are pulled from the
names of the content attributes for the corresponding fields. As a result, to translate the form in the future, you must
edit the content class in the destination language.
For example, if one of your site languages is French and you want to translate the form into French, you would first
access the list of classes in the Content class group. In the Administration Interface, click the Setup tab, then the
Classes link in the left menu, then the Content link representing the appropriate class group. Then, click the link for
the Membership Application Form class. You will be presented with the Class view interface that lists, among other
things, the attributes for that class. At the bottom of the page, select "Another language" from the drop-down list,
then click the Edit button. You can then edit the names of the attributes in French, which will be shown as the form
field labels when someone accesses the form on the French siteaccess.
14 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Submission confirmation template
The submission confirmation template for the form is loaded after the user clicks the Send form button (and after the
system has validated the information in the form - for example, if an invalid email addresses is typed into the
corresponding field, the form will reload with a warning). It acts as an acknowledgment that the site has received the
form information.
For example, suppose our form was filled in as follows:
Application form filled
From the collect.ini.append.php file, eZ Publish knows it is working with an information collection form called
“membership_application_form”. After the user clicks the Send form button, eZ Publish looks for the corresponding
template in the /content/collectedinfo/design directory.
In this case, we will use form.tpl (the template for the default eZ Publish feedback form) in that directory as a model.
Our new template is placed in /extension/ezwebin/design/ezwebin/templates/content/collectedinfo/ and looks as
follows:
15 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
<div class="border-box">
<div class="border-tl"><div class="border-tr"><div class="border-tc"></div></div></div>
<div class="border-ml"><div class="border-mr"><div class="border-mc float-break">
{default collection=cond( $collection_id, fetch( content, collected_info_collection, hash(
collection_id, $collection_id ) ),
fetch( content, collected_info_collection, hash( contentobject_id,
$node.contentobject_id ) ) )}
{set-block scope=global variable=title}{'Form
%formname'|i18n('design/ezwebin/collectedinfo/form',,hash('%formname',$node.name|wash))}{/set-blo
<h1>{'Thank you for your application.'|i18n('design/ezwebin/collectedinfo/form')}</h1>
<h2>{$object.name|wash}</h2>
{section show=$error}
{section show=$error_existing_data}
<p>{'You have already submitted this form. The data you entered
was:'|i18n('design/ezwebin/collectedinfo/form')}</p>
{/section}
{/section}
{section loop=$collection.attributes}
<h3>{$:item.contentclass_attribute_name|wash}</h3>
{attribute_result_gui view=info attribute=$:item}
{/section}
<p/>
<a href={$node.parent.url|ezurl}>{'Return to
site'|i18n('design/ezwebin/collectedinfo/form')}</a>
{/default}
</div></div></div>
<div class="border-bl"><div class="border-br"><div class="border-bc"></div></div></div>
</div>
On the front-end of the site, this is what is displayed after the form is submitted:
16 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Submission confirmation page
Email template for form results
Upon form submission, we have also specified (in collect.ini.append.php) that eZ Publish send an email. This email is
generated from a template named membership_application_form.tpl in this folder:
/extension/ezwebin/design/ezwebin/templates/content/collectedinfomail/
In this example, the existing eZ Publish feedback.tpl template can be used as a model. Our modified template is
shown below.
17 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
{set-block scope=root variable=subject}{"Collected information from
%1"|i18n("design/eZwebin/collectedinfomail/form",,array($collection.object.name|wash))}{/set-bloc
{if and(is_set($object.data_map.membership_coordinator_email_address),
$object.data_map.membership_coordinator_email_address.has_content)}
{set-block scope=root variable=email_receiver}
{$object.data_map.membership_coordinator_email_address.content}
{/set-block}
{/if}
{* Set this to redirect to another node
{set-block scope=root variable=redirect_to_node_id}2{/set-block}
*}
{"The following information was collected"|i18n("design/eZwebin/collectedinfomail/form")}:
{foreach $collection.attributes as $attribute}
{$attribute.contentclass_attribute_name|wash}:
{attribute_result_gui view=info attribute=$attribute}
{/foreach}
Note the "membership_coordinator_email_address" elements, which specify the recipient email address. In this case,
they are referencing the identifier for the “membership_coordinator_email_address” attribute (the contents of which
will be specified in the next section when we create the form object) of the Membership Application Form object.
Creating the form object
Up until now, we have been configuring the membership application form, but we have not yet created the object! To
do so, first click the Content structure tab of the Administration Interface.
In our case, we will place the form directly beneath the top-level node of the Content branch; therefore, we do not
have to navigate any further in the Administration Interface. In the Sub items window at the bottom of the page (if it
is missing, click the Sub items switch underneath the main menu of tabs), select the new form class from the
dropdown list, then click the Create here button.
New Membership Application Form object
In this example, the only fields with content are shown below. Since all other attributes are information collectors,
they can be left blank.
18 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Object fields part 1
Object fields part 2
Once you are done filling in the object's contents, click the Send for publishing button.
Accessing collected information
The form information that is sent by email is also stored in eZ Publish. It can be accessed in templates using
collectedinfo fetch functions (see the technical manual for more information about fetch functions). The main way to
view this information is in the Collected information interface under the Setup tab of the Administration Interface.
From there you will see an entry for the Membership Application Form object:
List of collected information objects
To see the submissions that have been collected, click the number in the Collections column. This will load a page
with the following information:
19 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
List of Membership Application Form submissions
You can see the individual form submissions by clicking on the corresponding number in the Collection ID column.
This will show an entry similar to the following:
Form submission information
Summary and resources
In this article, we discussed the two types of user forms in eZ Publish (for creating content objects and submitting
information collectors), focusing on creating an information collecting form.
The example in this article touched upon the eZ Publish template system, information collection system,
configuration (INI) file editing and content class creation.
Subsequent articles in this tutorial series will explain how to make use of RSS to syndicate content from other
websites and more!
20 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS
How to Create eZ Publish Forms / Articles / Developer / ez.no - Content Management System eZ Publish (Open Source CMS)
Resources
Image for collected information form functions road map
How to Skin an eZ Publish Now Site
How to Configure an eZ Publish Site - first article in the "How to" series
How to Use eZ Publish Extensions: Google Analytics - second article in the "How to" series
eZ Publish Basics book
Datatype reference documentation in technical manual
Fetch function reference documentation in technical manual
Template documentation in technical manual
21 of 21
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License
Copyright © 1999-2007 eZ Systems AS