DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
Logical Form¶
Author: | Kasper Skårhøj |
---|---|
Created: | 2002-11-01T00:32:00 |
Changed by: | dirk |
Changed: | 2015-01-08T15:19:02 |
Classification: | logical_form |
Description: | This extension is helpful, if you have to evaluate the values of a form. The form will be evaluated after sending and it will differs between a success and a failure case. The form handles the result. |
Keywords: | form |
Author: | Dirk Wildt (Die Netzmacher) |
Email: | http://wildt.at.die-netzmacher.de |
Website: | http://die-netzmacher.de |
Language: | en |
Logical Form (logical_form)
Logical Form¶
This extension is helpful, if you have to evaluate the values of a form. The form will be evaluated after sending and it will differs between a success and a failure case. The form handles the result.
Version: 2.0.0 - 2015-01-08
Extension Key: logical_form
Language: en
Keywords: form
Copyright 2007-2015, Dirk Wildt (Die Netzmacher), <http://wildt.at .die-netzmacher.de>
This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 - a GNU/GPL CMS/Framework available from www.typo3.org
Table of Contents¶
Settings for an Input Field 27
Settings for a Radio Button 28
Mail Settings for a Report Mail 30
Mail Settings for the Client Mail 30
Introduction¶
What does it do?¶
This extension is helpful, if you have to evaluate the values of a form.
The form will be evaluated after sending and it will differs between a success and a failure case. The form handles the result.
There are two alternate workflows:
- Disclaiming: In case of a failure there will be a failure page.
- Confirmation: In case of a failure there will be an error message in the form.
The form will configured in typoscript. So you don't have to know anything about php but you need a little experience in configuring typoscript. If you want, the form generates mails to providers and visitors.
Features¶
- A plugin with a form with an internal logic, which is evaluating values and has two possible workflows.
- In the default mode there are a select field for countries and an input field for a city. In the default mode you have to configure nothing but the pids of the success page and the failure page.
- If you like, the web master and the provider or the visitor of your website will get a mail with values and the result.
- It's possible to check mail addresses if they have a wrong syntax like a missing @.
- Full multi language support with TYPO3, configuration with typoscript.
- The form is in Xhtml.
Requirements¶
Nothing.
Users manual¶
Quick start¶
Install the extension with the extension manager.
Create the pages
Disclaiming
- Success
- Failure
Insert the plugin in the page content.
Include static extension template
Configure the extension logical_form in the template setup.
Update¶
If you are update from Version 0.0.12 or earlier you have to load the include static template a second time. See "Configure the extension template" on page 8.
Installation¶
Extension Manager¶
Open the extension manager download the Logical Form extension (key logical_form) and install it:
Tutorial¶
Default mode¶
You can use the logical form immediately. In the default mode the logical form has
- a country field and
- a city field.
The form evaluates
- if obligated fields are filled up and
- if the visitor is from the European Union or not.
Create pages with content¶
Add three pages with the following structure to your typo3 backend:
Default sample
- Success
- Failure
In the page “Success” you add a text element with this content e.g.:
You are European Union!
The evaluation of the data was successful.
You can publish here everything for visitors who are from a country in the European Union like
- Germany or
- Spain
In the page “Failure” you add a text element with this content e.g.:
Not a member of EU
You can publish here everything for visitors who are not from the European Union because they are from
- Switzerland or
- USA
Add the plugin “logical form” to the page “Default sample”
Configure the extension template¶
Next, please add an extension template with the name “+ext logical_form”.
Configure the template:
Insert in the field “setup” the following lines (the pids are the pids of your pages “Success” and “Failure):
plugin.tx_logicalform_pi1.pids.success = 637
plugin.tx_logicalform_pi1.pids.failure = 636
Insert in the field “include static template” the template “Logical Form (logical_form)” like in the illustration below.
The result in the frontend¶
The result in the frontend have to be the logical form like in the illustration.
Please test your logical form (look the examples above in the chapter “screenshots” on page 4):
Send the form without any value: There will be two error messages.
Send it with the values “Germany” and a city of your choice: There will be the message, that you are a member of the European Union.
Send it with the values “Switzerland” and a city of your choice: There will be the message, that you aren't a member of the European Union.
If you want to know, how to configure the logical form plugin
- give the two further examples a trial in the tutorial below or
- take a look in the reference on page 25 or
- check the setup of the tx_logicalform_pi1 with the typoscript object browser.
Disclaimer with two steps¶
In this exercise we use the logical form in a cascading way:
We ask, if the user understand our disclaimer.
If yes we will guide our visitor to the next page, where we will ask him, if he is a member of the European Union. We will add some country fields.
Illustration 13: Page tree in the backend
We need following pages and structure: Disclaiming
- Country
- Success
- Failure
- Failure
Feel free to add the following content:
Disclaiming:DisclaimerThis is the place where you can explain what to disclaim. In the first step you can ask your visitor if he understands your explanation.
- Country:Are you a member of EU?We want to know, if a visitor is coming
from a country which is a member from the european union. If yes, we
will guide him to a "success"-page. We will guide all other vistors to
a "unsuccess"-page.
- SuccessYou are European Union!The evaluation of the data was successful. You can publish here everything for visitors who are from a country in the European Union like- Germany or- Spain
- Failure:Not a member of EUYou can publish here everything for visitors who are not from the European Union because they are from- Switzerland or- USA
- FailureSorry, you are to stupidWe can't help you anymore.
Now we build our first own logical form.
Configure the extension template of the page Disclaiming¶
Next, please add an extension template with the name “+ext logical_form” like in the example of “configure the extension template” on page 8.
Insert in the field “setup” the following lines (the pids are the pids of your pages “Country” (case success) and “Failure” (like the illustration on page Fehler: Referenz nicht gefunden):
#
# WORKFLOW
# ========
#
plugin.tx_logicalform_pi1.workflow = failure_page
plugin.tx_logicalform_pi1.pids.failure = 493
plugin.tx_logicalform_pi1.pids.success = 494
#
# FIELDS, WE DON'T NEED
# =====================
#
plugin.tx_logicalform_pi1.fields.country >
plugin.tx_logicalform_pi1.fields.city >
#
# FIELDS
# ======
#
plugin.tx_logicalform_pi1.fields.confirm.radio.br = 0
plugin.tx_logicalform_pi1.fields.confirm.radio.required = 1
plugin.tx_logicalform_pi1.fields.confirm.radio.value.0 = no
plugin.tx_logicalform_pi1.fields.confirm.radio.value.1 = yes
plugin.tx_logicalform_pi1.fields.confirm.radio.failure.0 = no
#
# LANGUAGE EN (DEFAULT)
# =====================
#
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_confirm = I have understand the disclaimer
plugin.tx_logicalform_pi1._LOCAL_LANG.en.legend = Confirmation
plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_yes = Yes
plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_no = No
plugin.tx_logicalform_pi1._LOCAL_LANG.en.submit_button_label = Send
#
# LANGUAGE DE
# ===========
#
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_confirm = Ich habe den Disclaimer verstanden
plugin.tx_logicalform_pi1._LOCAL_LANG.de.legend = Bestätigung
plugin.tx_logicalform_pi1._LOCAL_LANG.de.value_yes = Ja
plugin.tx_logicalform_pi1._LOCAL_LANG.de.value_no = Nein
plugin.tx_logicalform_pi1._LOCAL_LANG.de.submit_button_label = Weiter
The whole setup is written in the file pi1/samples/setup_disclaim_1st.txt. You can read the file with the extension manager: Or copy the code above and paste it into your setup.
Insert in the field “include static template” the template “static (logical_form)” like in the illustration in the example of “configure the extension template” on page 8.
The Logical Form should look like this in the frontend now:
If you choose “No” the logical form will guide you to the failure page.
If you choose “Yes” the logical form will guide you to the success page.
Now we have to configure the success page. But before we explain the used setup code.
Explanation of the setup code¶
The “workflow” has to possibilities:
failure_page
form
The first (“failure_page”) means, that if the values aren't the values we want (the visitor doesn't understand the disclaimer), then the visitor will guided to a page with a message.
The second (“form”) means, that the visitor will get an error message on the same page – the page with the logical form. Example for this message: Sorry, there is a mistake in your mail address.
#
# WORKFLOW
# ========
#
plugin.tx_logicalform_pi1.workflow = failure_page
The pids are the pids of your pages for success (in this example the page “Country”) and failure (like the illustration on page Fehler: Referenz nicht gefunden).
plugin.tx_logicalform_pi1.pids.failure = 493
plugin.tx_logicalform_pi1.pids.success = 494
In the default mode the logical form has two fields – country and city. We don't need it, we delete it.
#
# FIELDS, WE DON'T NEED
# =====================
#
plugin.tx_logicalform_pi1.fields.country >
plugin.tx_logicalform_pi1.fields.city >
But we need a radio button with the two values “no” and “yes”.
“fields.confirm” is the name of the field.
“fields.confirm.radio” is the Html type of the field in the form.
“fields.confirm.radio.br” has the following effect:
- 0: There will be no line break between the values
- 1: There will be a line break between the values
“fields.confirm.radio.required” has the following effect:
- 0: The visitor doesn't have to fill up the field.
- 1: The visitor has to fill up the field. There will be added an asterisk to the field name in the form automatically. There will be added the comment “Please complete fields which have an asterisk” at the bottom of the form automatically.You can edit every language expression. See Chapter “How to configure language for fields and values“ on page 20.
“fields.confirm.radio.value” is an array with the values of the radio button.
“fields.confirm.radio.failure” is an array with the values, we don't want to accept for the success case.
#
# FIELDS
# ======
#
plugin.tx_logicalform_pi1.fields.confirm.radio.br = 0
plugin.tx_logicalform_pi1.fields.confirm.radio.required = 1
plugin.tx_logicalform_pi1.fields.confirm.radio.value.0 = no
plugin.tx_logicalform_pi1.fields.confirm.radio.value.1 = yes
plugin.tx_logicalform_pi1.fields.confirm.radio.failure.0 = no
With the _LOCAL_LANG array you can configure the display of your field names and values.
If you want to determine the displayed name of the field, you have to set it in this format:
language.field_name = value
“language” has the value of the language like “en” for English or “de” for german.
“field_name” has the value “field_” and than the name of the field. In the example above we defined the displayed name of the field “confirm”:_LOCAL_LANG.en.field_confirm = I have understand the disclaimer.
If you want to determine the displayed values of a field, you have to set it in this format:
language.value_name = value
“language” has the value of the language like “en” for English or “de” for german.
“value_name” has the value “value_” and than the name of the value. In the example above we defined the displayed name of the value “yes”:_LOCAL_LANG.en.value_yes = Yes
Here you have the value for the submitbutton:
_LOCAL_LANG.en.submit_button_label = Yes
#
# LANGUAGE EN (DEFAULT)
# =====================
#
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_confirm = I have understand the disclaimer
plugin.tx_logicalform_pi1._LOCAL_LANG.en.legend = Confirmation
plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_yes = Yes
plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_no = No
plugin.tx_logicalform_pi1._LOCAL_LANG.en.submit_button_label = Send
Below there is the same example for german language:
#
# LANGUAGE DE
# ===========
#
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_confirm = Ich habe den Disclaimer verstanden
plugin.tx_logicalform_pi1._LOCAL_LANG.de.legend = Bestätigung
plugin.tx_logicalform_pi1._LOCAL_LANG.de.value_yes = Ja
plugin.tx_logicalform_pi1._LOCAL_LANG.de.value_no = Nein
plugin.tx_logicalform_pi1._LOCAL_LANG.de.submit_button_label = Weiter
Configuring the success page¶
The success page “Country” is showing the same logical form like the page “Disclaiming”.
This isn't a surprise really, because we didn't configure the extension template of the page “Country”.
Our page “Country” should look like this:
We have to complete the following orders:
We want to display the default logical form with the fields “country” and “city”.
We have to configure the pids of the success and failure page.
We have to delete the field confirm.
Configure the extension template¶
Next, please add an extension template with the name “+ext logical_form”.
Configure the template:
Insert in the field “setup” the following lines (the pids are the pids of your pages “Success” and “Failure):
#
# WORKFLOW
# ========
#
plugin.tx_logicalform_pi1.workflow = failure_page
plugin.tx_logicalform_pi1.pids.failure = 496
plugin.tx_logicalform_pi1.pids.success = 495#
# FIELDS, WE DON'T WANT AND WE DELETE
# ===================================
#
plugin.tx_logicalform_pi1.fields.confirm >
Insert in the field “include static template” the template “static (logical_form)” like in the illustration below.
The result in the frontend should look like this:
Confirmation mode¶
This exercise demonstrate, how to create a form for ordering something:
- We need only a success page (for confirmation) and we don't need a failure page.
- We have to delete the default fields.
- We have to create some fields.
- We have to configure the mails to the provider and the visitor.
Create pages with the content and the plugin¶
Illustration 21: Confirmation example
Add two pages in the following structure to your typo3 backend: Confirmation
Success
Please add to the page “Confirmation”
- this content:ConfirmationThis an example for the confirmation case.E.g. a visitor like to get a document by postal delivery. He can order the document with the form above. He will get a confirmation if he filled up every field and if there is no mistake in the mail.
- the plugin “Logical Form”
- and an extension template “+ext logical_form”
Please add to the page “Success” this content:
Thank youThanks for ordering our document.If you have any question please call us.* Contact (Link to your contact page)
Configure the extension template of the page Confirmation¶
Next, please add an extension template with the name “+ext logical_form” like in the example of “configure the extension template” on page 8.
Insert in the field “include static template” the template “static (logical_form)” like in the illustration in the example of “configure the extension template” on page 8.
Insert in the field “setup” the following lines (the pid is the pid of your page “Success”:
#
# WORKFLOW
# ========
#
plugin.tx_logicalform_pi1.workflow = form
plugin.tx_logicalform_pi1.pids.failure >
plugin.tx_logicalform_pi1.pids.success = 634
#
# MAIL TO THE CLIENT, THE VISITOR OF OUR WEBSITE
# ==============================================
#
plugin.tx_logicalform_pi1.mail.to_client = 1
plugin.tx_logicalform_pi1.mail.to_client.from.mail = name@my.provider.com
plugin.tx_logicalform_pi1.mail.to_client.from.name = my provider company
plugin.tx_logicalform_pi1.mail.to_client.bcc = dirk.wildt@think- visually.com
plugin.tx_logicalform_pi1.mail.to_client.field = mail
plugin.tx_logicalform_pi1.mail.to_client.body = mail_client
plugin.tx_logicalform_pi1.mail.to_client.signature.0 = my provider company
plugin.tx_logicalform_pi1.mail.to_client.signature.1 = my provider contact
plugin.tx_logicalform_pi1.mail.to_client.signature.2 = my provider street
plugin.tx_logicalform_pi1.mail.to_client.signature.3 = my provider zip and city
plugin.tx_logicalform_pi1.mail.to_client.signature.4 = my provider phone
plugin.tx_logicalform_pi1.mail.to_client.signature.5 = my provider mail address
#
# FIELDS, WE DON'T NEED
# =====================
#
plugin.tx_logicalform_pi1.fields.country >
plugin.tx_logicalform_pi1.fields.city >
#
# NEW FIELDS
# ==========
#
plugin.tx_logicalform_pi1.fields.mail.input.failure.0 = my.name@example.com
plugin.tx_logicalform_pi1.fields.mail.input.failure.1 = dirk.wildt @think-visually.com
plugin.tx_logicalform_pi1.fields.mail.input.default = my.name@example.com
plugin.tx_logicalform_pi1.fields.mail.input.size = 30
plugin.tx_logicalform_pi1.fields.mail.input.maxlength = 60
plugin.tx_logicalform_pi1.fields.mail.input.required = 1
plugin.tx_logicalform_pi1.fields.mail.input.mail = 1
plugin.tx_logicalform_pi1.fields.sexus.radio.br = 0
plugin.tx_logicalform_pi1.fields.sexus.radio.required = 1
plugin.tx_logicalform_pi1.fields.sexus.radio.value.0 = male
plugin.tx_logicalform_pi1.fields.sexus.radio.value.1 = female
plugin.tx_logicalform_pi1.fields.name.input.size = 30
plugin.tx_logicalform_pi1.fields.name.input.maxlength = 60
plugin.tx_logicalform_pi1.fields.name.input.required = 1
plugin.tx_logicalform_pi1.fields.street.input.size = 30
plugin.tx_logicalform_pi1.fields.street.input.maxlength = 60
plugin.tx_logicalform_pi1.fields.street.input.required = 1
plugin.tx_logicalform_pi1.fields.zip_city.input.size = 30
plugin.tx_logicalform_pi1.fields.zip_city.input.maxlength = 60
plugin.tx_logicalform_pi1.fields.zip_city.input.required = 1
plugin.tx_logicalform_pi1.fields.phone.input.size = 30
plugin.tx_logicalform_pi1.fields.phone.input.maxlength = 60
plugin.tx_logicalform_pi1.fields.phone.input.required = 1
plugin.tx_logicalform_pi1.fields.note.textarea.cols = 30
plugin.tx_logicalform_pi1.fields.note.textarea.rows = 5
plugin.tx_logicalform_pi1.fields.note.textarea.required = 0
#
# LANGUAGE EN (DEFAULT)
# =====================
#
plugin.tx_logicalform_pi1._LOCAL_LANG.en.legend = I want this document
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_mail = Mail
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_name = First and last Name
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_note = Message to the provider
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_phone = Phone
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_sexus = Gender
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_street = Street
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_zip_city = ZIP and City
plugin.tx_logicalform_pi1._LOCAL_LANG.en.mail_client_subject = Delivery of the ordered document
plugin.tx_logicalform_pi1._LOCAL_LANG.en.mail_client_text (
Dear ###VALUE_NAME###,
Thanks for ordering our document.
We will send it with postal delivery to your address:
###VALUE_NAME###
###VALUE_STREET###
###VALUE_ZIP_CITY###
You have send the following data:
###VALUES###
If there is any mistake please send the correct data.
Please visit this page and fill up the form:
###URL###
This is a mechanical message.
Best Regards
###SIGNATURE###
)
plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_female = Female
plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_male = Male
#
# LANGUAGE DE
# ===========
#
plugin.tx_logicalform_pi1._LOCAL_LANG.de.legend = Ich möchte das Dokument
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_mail = eMail
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_name = Vor- und Nachname
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_note = Nachricht an den Betreiber
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_phone = Telefon
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_sexus = Anrede
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_street = Straße
plugin.tx_logicalform_pi1._LOCAL_LANG.de.field_zip_city = PLZ und Ort
plugin.tx_logicalform_pi1._LOCAL_LANG.de.mail_client_subject = Versand des bestellten Dokuments
plugin.tx_logicalform_pi1._LOCAL_LANG.de.mail_client_text (
Hallo ###VALUE_NAME###,
herzlichen Dank für die Bestellung unseres Dokuments.
Wir senden Ihnen das Dokument per Post an Ihre Adresse:
###VALUE_NAME###
###VALUE_STREET###
###VALUE_ZIP_CITY###
Sie haben uns folgende Daten gesendet:
###VALUES###
Sollte in den Daten ein Fehler stecken, senden Sie uns Ihre richtigen Daten bitte ein zweites Mal.
Besuchen Sie dafür bitte folgende Seite:
###URL###
Dies ist eine automatische generierte Mitteilung.
Mit freundlichen Grüßen
###SIGNATURE###
)
plugin.tx_logicalform_pi1._LOCAL_LANG.de.value_female = Frau
plugin.tx_logicalform_pi1._LOCAL_LANG.de.value_male = Herr
The whole setup is written in the file pi1/samples/setup_disclaim_2nd.txt. You can read the file with the extension manager: Or copy the code above and paste it into your setup.
Explanation of the setup code¶
We don't repeat the explanation of the example above “Explanation of the setup code” on page 11. If you didn't read it, please read and understand it now.
The workflow value is “form”, because there is only the failure case of missing data or wrong mail addresses. In this case every error should displayed with a message in the form and not in a failure page:
- We set workflow to: form
- We delete the value pids.failure
#
# WORKFLOW
# ========
#
plugin.tx_logicalform_pi1.workflow = form
plugin.tx_logicalform_pi1.pids.failure >
plugin.tx_logicalform_pi1.pids.success = 634
The array mail.to_client is explained in the chapter “mail” on page 21.
How to configure fields¶
Illustration 23: The form without language configuration
In our form we need the following fields: - mail (input)
- sexus (radio)
- name (input)
- street (input)
- zip_city (input)
- note (input)
It is easier to understand the controlling of the Logical Form, if we don't use the language configuration.
Therefor we commented out the lines with the language configuration as shown below:
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.legend = I want this document
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_mail = Mail
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_name = First and last Name
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_note = Message to the provider
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_phone = Phone
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_sexus = Gender
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_street = Street
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_zip_city = ZIP and City
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_female = Female
#plugin.tx_logicalform_pi1._LOCAL_LANG.en.value_male = Male
The following images show, how to control fields.
Field name, field type and field values
Required fields
Default values and evaluating of a mail address
How to configure language for fields and values¶
In our example we want that
- the field “mail” will be displayed as “Mail”,
- “sexus” as “Gender” and
- the values “male” as “Male” and “female” as “Female”
#
# LANGUAGE EN (DEFAULT)
# =====================
#
...
plugin.tx_logicalform_pi1._LOCAL_LANG.en.field_mail = Mail
...
Mail¶
Configuring the mail to the client – the visitor of our website¶
You have to configure the array “ mail.to_client...”.
You have to set the flag “mail.to_client” to 1, otherwise the server won't send any mail to a client.
#
# MAIL TO THE CLIENT, THE VISITOR OF OUR WEBSITE
# ==============================================
#
plugin.tx_logicalform_pi1.mail.to_client = 1
plugin.tx_logicalform_pi1.mail.to_client.from.mail = name@my.provider.com
plugin.tx_logicalform_pi1.mail.to_client.from.name = my provider company
plugin.tx_logicalform_pi1.mail.to_client.bcc = dirk.wildt@think- visually.com
plugin.tx_logicalform_pi1.mail.to_client.field = mail
plugin.tx_logicalform_pi1.mail.to_client.body = mail_client
plugin.tx_logicalform_pi1.mail.to_client.signature.0 = my provider company
plugin.tx_logicalform_pi1.mail.to_client.signature.1 = my provider contact
plugin.tx_logicalform_pi1.mail.to_client.signature.2 = my provider street
plugin.tx_logicalform_pi1.mail.to_client.signature.3 = my provider zip and city
plugin.tx_logicalform_pi1.mail.to_client.signature.4 = my provider phone
plugin.tx_logicalform_pi1.mail.to_client.signature.5 = my provider mail address
We hope, that the illustration below shows the relation between the mail and the controlling with the setup understandably.
With the value
plugin.tx_logicalform_pi1.mail.to_client.field = mail
you determine, in which field of the form we found the mail address of the client.
We explain in step II, how to configure the mail subject and the mail message.
Configuring the subject and the message of the mail to the client¶
You have to define
- the subject and
- the message text
in the language array “_LOCAL_LANG”. You are free, to define the string, which is marked yellow. But is has to be the same string like in the setup variable “.mail.to_client.body.
plugin.tx_logicalform_pi1.mail.to_client.body = mail_client
...
plugin.tx_logicalform_pi1._LOCAL_LANG.en.mail_client_subject = ...
plugin.tx_logicalform_pi1._LOCAL_LANG.en.mail_client_text = ...
In the message – the mail body – you may work with markers.
If you want use values, which the client have written in the form, there is this main principle:
###VALUE_ fieldname ###
For example:
In the form is a field called “street”, than the marker in the mail is ###VALUE_STREET###.
If you want a list of all form values, than you use the marker ###VALUES###.
There a two markers additionaly:
- ###URL###: The Url of the form
- ###SIGNATURE###: The setup array “.mail.to_client.signature...”
Our Example
plugin.tx_logicalform_pi1._LOCAL_LANG.en.mail_client_subject = Delivery of the ordered document
plugin.tx_logicalform_pi1._LOCAL_LANG.en.mail_client_text (
Dear ###VALUE_NAME###,
Thanks for ordering our document.
We will send it with postal delivery to your address:
###VALUE_NAME###
###VALUE_STREET###
###VALUE_ZIP_CITY###
You have send the following data:
###VALUES###
If there is any mistake please send the correct data.
Please visit this page and fill up the form:
###URL###
This is a mechanical message.
Best Regards
###SIGNATURE###
)
And the result:
Configuring a report mail¶
With Logical Form you can configure a report mail.
This mail send all datas of the form to a mail address of your choice.
Example for a configuration:
#
# MAIL REPORT I.E. TO THE ADMIN OR/AND THE PROVIDER OF THE WEBSITE
# ================================================================
#
plugin.tx_logicalform_pi1.mail.report = 1
plugin.tx_logicalform_pi1.mail.report.from.mail = webmaster@my- domain.com
plugin.tx_logicalform_pi1.mail.report.from.name = Typo3 Logical Form Report
plugin.tx_logicalform_pi1.mail.report.to.0 = henry@statistic.com
plugin.tx_logicalform_pi1.mail.report.to.1 = mary@statistic.com
plugin.tx_logicalform_pi1.mail.report.signature.0 = My company
plugin.tx_logicalform_pi1.mail.report.signature.1 = My name
plugin.tx_logicalform_pi1.mail.report.signature.2 = My street
plugin.tx_logicalform_pi1.mail.report.signature.3 = My zipcode and my city
plugin.tx_logicalform_pi1.mail.report.signature.4 = My phone
plugin.tx_logicalform_pi1.mail.report.signature.5 = my.name@my- domain.com
If you want to edit the mail content, please edit
pi1/locallang.xml (see chapter “Language” on page 31)
Avoid Spam¶
If you want to avoid spam use captcha.
Please install the extension Captcha Library (extension key: captcha) or freeCap CAPTCHA (extension key: sr_freecap)
Configure the use of captcha in the logical form
plugin.tx_logicalform_pi1.captcha.extkey.captcha = 1
or
plugin.tx_logicalform_pi1.captcha.extkey.sr_freecap = 1
Troubleshooting¶
If the logical_form extension doesn't display anything (not even an error message) check the following:
- Did you set a “static template (from Extensions)” in your TS-template?
- Clear all TYPO3 caches, including the temp files in typo3conf, clear your Browser cache.
Debug Mode¶
The Logical Form has a debug mode. In this mode the extension will print messages in your Html code. The debug mode makes sense, if you have any problem with mailing.
Turn the debug mode on:
plugin.tx_logicalform_pi1.mail.debug = 1
You will get the following output e.g.:
Reference¶
plugin.tx_logicalform_pi1 properties: TS configuration.
General Settings¶
templateFile¶
Property
templateFile
Data type
string
Description
The template file for the form
Example:
plugin.tx_logicalform_pi1 {
templateFile = typo3conf/ext/logical_form/ \
pi1/template.html
}
Default
typo3conf/ext/logical_form/pi1/template.html
code¶
Property
code
Data type
string
Description
The marker for the form subpart in the template file
Example:
plugin.tx_logicalform_pi1 {
code = FORM
}
Default
FORM
key_prod¶
Property
key_prod
Data type
int
Description
You need this key for encrypting input values.Integer values will be multiplied with key_prod.
See also the reference "input.send_keyed" on page 28.
Example:
plugin.tx_logicalform_pi1 {
key_prod = 4523
}
Default
123
error.wrap¶
Property
error.wrap
Data type
string
Description
The wrap for an error message in the form.
The message will be displayed, if a field is required but the value of this field is an empty string.
Example:
plugin.tx_logicalform_pi1.error {
wrap = <dd><div style="font-weight:bold; \
font-size:small;color:red;">|</div></dd>
}
Default
<div style="font-weight:bold;font-size:small;color:red;">|</div>
required.wrap¶
Property
required.wrap
Data type
string
Description
The wrap for the line required in the form.The required line will be displayed, if there is any field which is required.
Example:
plugin.tx_logicalform_pi1.required {
wrap = <dd><div style="font-size:small; \
padding-top:2em;">|</div></dd>
}
Default
<div style="font-size:small;padding-top:2em;">|</div>
date¶
Property
date
Data type
string
Description
Output format for a timestamp.
A timestamp is used in a report mail.
plugin.tx_logicalform_pi1{
date = Y-m-d H:i:s
}
Default
Y-m-d H:i:s
Captcha¶
captcha¶
Property
captcha
Data type
deprecated
Description
Please use captcha.extkey (see below)
Default
captcha.extkey.captcha¶
Property
captcha.extkey.captcha
captcha.extkey.sr_freecap
Data type
boolean
Description
If you want use captcha or sr_freecap, you have to activate it with a 1 (true)
You have to install the extension captcha or sr_freecap of course.
Example:
plugin.tx_logicalform_pi1 {
captcha.extkey.captcha = 1
}
Default
0
captcha.wrap.error¶
Property
captcha.wrap.error
Data type
string
Description
Example:
plugin.tx_logicalform_pi1 {
captcha.wrap.error =
<div class="my-error-wrap">|</div>
}
Default
<div style="font-weight:bold;font-size:small;color:red;">|</div>
Workflow and Pids¶
debug¶
Property
debug
Data type
boolean
Description
Debug mode of the logical form.
Maybe you will get a helpful hint.
If you like to debug problems with mails, please see mail.debug below.
Example:
plugin.tx_logicalform_pi1 {
debug = 1
}
Default
0
workflow¶
Property
workflow
Data type
string
failure_page,
form
Description
The workflow of the logical form.
failure_page: In case of a failure the visitor will be guidedto a failure page. You have to configure the setup value pids.failure!
form: In case of a failure there will be an error messagein the form.
Example:
plugin.tx_logicalform_pi1 {
workflow = failure_page
}
Default
failure_page
pids.failure¶
Property
pids.failure
pids.success
Data type
integer
Description
The ids of the pages with the failure and success message.
You have to configure the value pids.success in every case!
You have to configure the value pids.failure, if your workflow (see above) is failure_page (this is the default mode).
Example:
plugin.tx_logicalform_pi1.pids {
failure = 417
success = 418
}
Default
General Field Settings¶
Settings for all field in the extension logical_form
fields.[field_name].[field_type]¶
Property
fields.[field_name].[field_type]
Data type
array
[field_type]:
input
textarea
radio
checkbox
select
Description
Create a field
Example for a select field:
plugin.tx_logicalform_pi1.fields.country.select {
...
}
Example for an input field:
plugin.tx_logicalform_pi1.fields.city.input {
...
}
See tables below
Default
country.select,
city.input
fields.[field_name].[field_type].required¶
Property
fields.[field_name].[field_type].required
Data type
boolean
Description
If the field is required the extension won't accept an empty value
The field name will be completed with an asterisk.
The last line in the form will be an information, that required fields have to be completed.
Example:
plugin.tx_logicalform_pi1.fields.country.select {
required = 1
}
Default
fields.[field_name].[field_type].failure. x¶
Property
fields.[field_name].[field_type].failure. x
Data type
string
Description
Value, which shouldn't be accepted
Example:
plugin.tx_logicalform_pi1.fields.country.select {
failure.0 = Switzerland
failure.1 = USA
}
Default
fields.[field_name].[field_type].default¶
Property
fields.[field_name].[field_type].default
Data type
string
Description
Default value of a field
Example:
plugin.tx_logicalform_pi1.fields.city.input {
default = Berlin
}
Default
Settings for an Input Field¶
fields.[field_name].input.size¶
Property
fields.[field_name].input.size
Data type
integer
Description
Html length of the input field
Example:
plugin.tx_logicalform_pi1.fields.city.input {
size = 30
}
Default
fields.[field_name].input.maxlength¶
Property
fields.[field_name].input.maxlength
Data type
integer
Description
Allowed length of the value in the input field
Example:
plugin.tx_logicalform_pi1.fields.city.input {
maxlength = 60
}
Default
fields.[field_name].input.mail¶
Property
fields.[field_name].input.mail
Data type
boolean
Description
If set the value of the input field have to be a valid mail address m(e.g. with an @). Otherwise there will be an error message
Example:
plugin.tx_logicalform_pi1.fields.email.input {
mail = 1
}
Default
0
fields.[field_name].input.int¶
Property
fields.[field_name].input.int
Data type
boolean
Description
If set the value of the input field have to be an integer. Otherwise there will be an error message
Example:
plugin.tx_logicalform_pi1.fields.email.input {
int = 1
}
Default
0
fields.[field_name].input.send_keyed¶
Property
fields.[field_name].input.send_keyed
Data type
boolean
Description
If set, this value will bey keyed in mails.
Example output in a mail:
- Sended value: 12345678
- Displayed value: ########
Output in the report mail:
- if input.int = 1 then there will be displayed: 1518518394/123
(value * key_prod, keyprod is the value after the slash)key_prod: see General Settings key_prod.
- without input.int there will be displayed 87654321/rev
Example:
plugin.tx_logicalform_pi1.fields.account_no.input {
send_keyed = 1
}
You can configure the output for the client mail (see the below)
Default
0
fields.[field_name].input.send_keyed.start¶
Property
fields.[field_name].input.send_keyed.start
Data type
int
Description
Start point of the mask in the client mail.
Example for start value 3:
- Sended value: 12345678
- Displayed value: 123#####
Example:
plugin.tx_logicalform_pi1.fields.account_no.input {
send_keyed.start = 3
}
Default
0
fields.[field_name].input.send_keyed.symbol¶
Property
fields.[field_name].input.send_keyed.symbol
Data type
char
Description
You can set the symbol, with which values will be substituted in the client mail
Example:
plugin.tx_logicalform_pi1.fields.account_no.input {
send_keyed.symbol = *
}
Default
#
Settings for a Textarea¶
fields.[field_name].texarea.cols¶
Property
fields.[field_name].texarea.cols
Data type
integer
Description
Html cols of the texarea
Example:
plugin.tx_logicalform_pi1.fields.note.texarea {
cols = 30
}
Default
fields.[field_name].texarea.rows¶
Property
fields.[field_name].texarea.rows
Data type
integer
Description
Html rows of the texarea
Example:
plugin.tx_logicalform_pi1.fields.note.texarea {
rows = 5
}
Default
Settings for a Radio Button¶
fields.[field_name].radio.value. x¶
Property
fields.[field_name].radio.value. x
Data type
string
Description
Option field of a radio button
Example:
plugin.tx_logicalform_pi1.fields.sexus.radio {
value.0 = male
value.1 = female
}
Default
fields.[field_name].radio.br¶
Property
fields.[field_name].radio.br
Data type
boolean
Description
If set, then there will be a <br />-tag between the option fields
Example:
plugin.tx_logicalform_pi1.fields.sexus {
br = 1
}
Default
Settings for a Checkbox¶
fields.[field_name].checkbox.value. x¶
Property
fields.[field_name].checkbox.value. x
Data type
string
Description
Option field of a checkbox
Example:
plugin.tx_logicalform_pi1.fields.profile.checkbox {
value.0 = sport
value.1 = culture
value.2 = vacation
}
Default
fields.[field_name].checkbox.default.x¶
Property
fields.[field_name].checkbox.default.x
Data type
string
Description
Default value of a field
Example:
plugin.tx_logicalform_pi1.fields.profile.checkbox {
default.0 = sport
default.1 = vacation
}
Default
Settings for a Selectbox¶
fields.[field_name].select.size¶
Property
fields.[field_name].select.size
Data type
integer
Description
Amount of the displayed items in the option list
Example:
plugin.tx_logicalform_pi1.fields.country.select {
size = 5
}
Default
fields.[field_name].select.value. x¶
Property
fields.[field_name].select.value. x
Data type
string
Description
Option value of a selectbox
Example:
plugin.tx_logicalform_pi1.fields.country.select {
value.0 =
value.1 = Germany
value.2 = Spain
value.3 = Switzerland
value.4 = USA
}
Default
fields.[field_name].select.multiple¶
Property
fields.[field_name].select.multiple
Data type
boolean
Description
Enable the multiple choice of a selectbox
Example:
plugin.tx_logicalform_pi1.fields.country.select {
multiple = 1
}
Default
General Mail Settings¶
mail.from¶
Property
mail.from
Data type
string
Description
The sender of the mail, which will send in cases of failure and success to the provider of the website and others
Example:
plugin.tx_logicalform_pi1.mail {
from = webmaster@my-client.com
}
Default
mail.debug¶
Property
mail.debug
Data type
boolean
Description
If set there is a output in Html
Example:
plugin.tx_logicalform_pi1.mail {
debug = 1
}
Default
0
mail.charset¶
Property
mail.charset
Data type
string
Description
The charset for the mail
Example:
plugin.tx_logicalform_pi1.mail {
charset = UTF-8
}
Default
iso-8859-15
Mail Settings for a Report Mail¶
mail.report¶
Property
mail.report
Data type
boolean, array
Description
Activating a report mail (you have to configure the report array).
Example:
plugin.tx_logicalform_pi1.mail {
report = 1
}
Default
0
mail.report.from.mail,¶
Property
mail.report.from.mail,
mail.report.from.name
Data type
strings
Description
Sender of the report mail
Example:
plugin.tx_logicalform_pi1.mail.report {
from.mail = webmaster@my-domain.com
from.name = Typo3 Logical Form Report
}
Default
mail.report.to. x¶
Property
mail.report.to. x
Data type
string
Description
Receiver of the report mail
Example:
plugin.tx_logicalform_pi1.mail.report {
to.0 = webmaster@my-domain.com
to.1 = henry@statistics.com
}
Default
mail.report.signature. x¶
Property
mail.report.signature. x
Data type
string
Description
Signature of the report mail
Example:
plugin.tx_logicalform_pi1.mail.report {
signature.0 = My company
signature.1 = My name
signature.2 = webmaster@my-domain.com
}
Default
Mail Settings for the Client Mail¶
mail.client¶
Property
mail.client
Data type
boolean, array
Description
Activating a mail to the client, the visitor, who filled up the values in the form (you have to configure the mail client array).
Example:
plugin.tx_logicalform_pi1.mail {
client = 1
}
Default
0
mail.client.from.mail,¶
Property
mail.client.from.mail,
mail.client.from.name
Data type
strings
Description
Sender of the report mail
Example:
plugin.tx_logicalform_pi1.mail.client {
from.mail = name@my.provider.com
from.name = My provider company
}
Default
mail.client.bcc¶
Property
mail.client.bcc
Data type
string
Description
Comma separated list of mail addresses for a blind copy
Example:
plugin.tx_logicalform_pi1.mail.client {
bcc = name@my.provider.com, \
webmaster@my-domain.com
}
Default
mail.client.field¶
Property
mail.client.field
Data type
string
Description
The name of the field in the form, which contained the mail address of the visitor (see the mail tutorial on page 21)
Example:
plugin.tx_logicalform_pi1.mail.client {
field = mail
}
Default
mail.client.body¶
Property
mail.client.body
Data type
string
Description
The name of the field for mail subject and mail message in the language configuration (see the mail tutorial on page 21)
Example:
plugin.tx_logicalform_pi1.mail.client {
body = mailclient
}
Default
mail.client.signature. x¶
Property
mail.client.signature. x
Data type
string
Description
Signature of the report mail
Example:
plugin.tx_logicalform_pi1.mail.client {
signature.0 = My provider company
signature.1 = My provider name
signature.2 = name@my-provider.com
}
Default
Language and translation¶
There are translations for some words and phrases in the file
pi1/locallang.xml
especially for
- error_mail: "There is a mistake in your mail address ###MAIL###”
- error_not_accepted: "The system doesn't accept this value!”
- error_not_accepted_checkbox "The system doesn't accept one of the values!”
- "error_not_accepted_select: "The system doesn't accept one of the values!”
- legend: "Logical Form”
- mail_report_subject: "Logical Form Report”
- mail_report_text: A text with markers.
If you want to change the values,
- you can edit locallang.xml (but maybe you will get trouble in case of updating the extension)
- or edit the array “_Local_Lang” (recommended).
If you want to edit the array “_LOCAL_LANG” please take a look in the tutorial “How to configure language for fields and values” on page 20.
Files¶
Files for the configuration of language items and for documentation.
pi1/class.tx_logicalform_pi1.php¶
File
pi1/class.tx_logicalform_pi1.php
Description
Main PHP-class used to display the form and the confirmation. The class validates mail addresses and sends mails to logical_form and the subscriber or unsubscriber.
pi1/locallang.xml¶
File
pi1/locallang.xml
Description
Language file for class.tx_logicalform_pi1.php
pi1//template.html¶
File
pi1//template.html
Description
Template file for the form.
ext_php_api.dat¶
File
ext_php_api.dat
Description
API documentation of the logical_form extension.
pi1/samples/*¶
File
pi1/samples/*
Description
Setup code for the tutorial
Helpful suggestions¶
If you have helpful suggestions, feel free to contact me: Dirk Wildt (Die Netzmacher), http://wildt.at.die-netzmacher.de.
ToDo¶
- Extend for tt_news categories
- Check related tt_news
Further Information¶
Other extensions published by Die Netzmacher¶
- +AOE Linkhandler Configurator: Configure the AOE linkhandler supported by userinterfaces. Out-of-the-box templates for cal, org, tt_news and tt_products. Don't edit page TSconfig any longer. http://typo3.org/extensions/repository/view/linkhandlerconf/
- autositemap: A smart site-map optimised for the footer. It groups menus in columns. Great menus will get two columns. Configuration is based on TypoScript HMENU. http://typo3.org/extensions/repository/view/autositemap/
- Browser – TYPO3 without PHP. Develop your TYPO3 extension 8 times faster! You need one line TypoScript for a result list with a search form, a record browser and an index browser. Images are wrapped self-acting. SEO, Search Engine Optimization, is integrated. http://typo3.org/extensions/repository/view/browser/
- Caddy – the TYPO3 shopping cart. You can use it for your own needs. You need a database with products or any other items only. You can install Caddy out of the box with one mouse click – see Quick Shop below. http://typo3.org/extensions/repository/view/caddy/
- Deal! – TYPO3 Quick Shop interface for the marketplace ebay. Manage all items with TYPO3 and publish it on ebay. Amazon is under construction. http://typo3.org/extensions/repository/view/deal/
- Duty – collection of helpful scheduler tasks. Here: remove deprecated files from directories. http://typo3.org/extensions/repository/view/duty/
- Flip it! offers lovely and smooth page flip transitions. It enables you to run over pages in PDF documents like in a real magazine. It is based on flash. Flipt it! can convert PDF documents to swf files automatically. http://typo3.org/extensions/repository/view/flipit/
- Jobmarket is a catalogue with job offers. Views, the a-z-browser, the page-browser, the search, social bookmarks and a lot of other stuff can configured by the Browser plugin with the mouse. Job Market hasn't any PHP code, it should be easy to adapt it to your needs. http://typo3.org/extensions/repository/view/job_market/
- Organiser – TYPO3 for the lobby and the organisers. Handle news, events, staff, headquarters, locations, workshops and a calendar with one extension. Sell online tickets! Install the Organiser with one mouse click! http://typo3-organiser.de/
- Quick Shop – the fastest shop in the history of TYPO3. Install it with one mouse click! Quick Shop is based on the browser (see above) and powermail. http://typo3-quick-shop.de/
- PDF Controller: Easy to install. Add to your HTML page the PDF-controller-button. Link from the button to the controller. Adjust the controller by mouseclicks. The PDF Controller supports CSS 3. http://typo3-pdfcontroller.de/
- Radial Search (Umkreissuche) – Enable the browsing through your data by geo location. 'Your data must have a latitude and a longitude. Address data can geocoded automatically by the Browser - TYPO3 without PHP. http://typo3.org/extensions/repository/view/radialsearch/
- Route – Publish your routes with GoogleMaps or OpenStreetMap. Routes have points of interest (POI). You can categorise and filter both: routes and POI. Address data can geocoded automatically. http://typo3.org/extensions/repository/view/route/
- seo_dynamic_tag: Search Engine Optimization for the title tag, the canonical tag and the meta tags author, description and keywords. Configuration by a user interface. http://typo3.org/extensions/repository/view/seo_dynamic_tag/
- Slick - jQuery Carousel: Fully responsive. Scales with its container. Separate settings per breakpoint. Uses CSS3 when available. Swipe enabled. Desktop mouse dragging. Infinite looping. Fully accessible. http://typo3.org/extensions/repository/view/slick/
- TSconfig Pages and Users by extManager (extkey: tsconf): Configure the the eight most commonly used TSconfig porperties with the mouse - like page tree uids, activated extended view, activated clipboard, ... http://typo3.org/extensions/repository/view/tsconf/
Changelog¶
2.0.0 Maintenance * #i0001: Update for TYPO3 6.2
1.0.0 New Main Version - Change status to stable- Corporate Design Die Netzmacher GbR
0.0.13 Bugfix - There was a php warning, if a checkbox hasn't any default value. Maintenance - There is only one proper static template now.- Every dd-tag and dl-tag got a class- Empty mail fields will be now accepted, if they aren't required
0.0.12 Maintenance - We deleted a link to an empty typoscript template in ext_tables.php
0.0.10 New Feature - It's possible to choose between captcha and sr_freecap. New Feature - General debug modeImprovement- The form is XHTML-strict.
0.0.9 Bugfix - Manual: There was a syntax error
0.0.8- Bugfix - We fixed a problem with handling the subject in mails
0.0.7 Bugfix - There was a bug in the setup. Now it is possible to install this extension global too.
0.0.6 Improvement - Captcha
0.0.5 New Feature - Captcha
0.0.4 Bugfix - There was a bug with evaluating integers. We fixed it.
0.0.3 New Feature - It is possible to choose the charset in mails by typoscript
0.0.2 New Feature - We added the options- to send values of input fields in mails keyed – for bank accounts e.g.- to evaluate, if a value of an input field is an integer – for bank accounts e.g.
0.0.1 Initial release
Illustration Index¶
Illustration 1: Logical Form in the default mode 4
Illustration 2: Obligate fields will be evaluated 4
Illustration 3: Case 1 - visitor is member of EU country 4
Illustration 4: Case 1 - content for EU members 4
Illustration 5: Case 2 - visitor isn't a member of EU 4
Illustration 6: Case 2 - content for non EU members 4
Illustration 7: Logical Form in the typo3 backend 4
Illustration 8: Extension Logical Form 6
Illustration 9: Default example 8
Illustration 10: Default sample with the plugin and the template 8
Illustration 11: Configuration of the extension template 9
Illustration 12: The logical form in the frontend 9
Illustration 13: Page tree in the backend 9
Illustration 14: The setup code 11
Illustration 15: Your first logical form 11
Illustration 16: Page "Country" without configuration 13
Illustration 17: Page "Country" with configuration 13
Illustration 18: Default sample with the plugin and the template 14
Illustration 19: Configuration of the extension template 14
Illustration 20: Page "Country" with configuration 14
Illustration 21: Confirmation example 16
Illustration 22: The setup code 18
Illustration 23: The form without language configuration 19
Illustration 24:plugin.tx_logicalform_pi1.fields.mail...plugin.tx_l ogicalform_pi1.fields.sexus... 19
Illustration 25:plugin.tx_logicalform_pi1.fields.mail.input...plugin .tx_logicalform_pi1.fields.sexus.radio... 19
Illustration 26:plugin.tx_logicalform_pi1.fields.sexus.radio.value.0 = maleplugin.tx_logicalform_pi1.fields.sexus.radio.value.1 = female 19
Illustration 27:plugin.tx_logicalform_pi1.fields.mail.input.required = 1plugin.tx_logicalform_pi1.fields.sexus.radio.required = 1 20
Illustration 28:plugin.tx_logicalform_pi1.fields.mail.input.default = my.name... 20
Illustration 29:plugin.tx_logicalform_pi1.fields.mail.input.mail = 1 20
Illustration 30: Our form without any translation 20
Illustration 31:..._LOCAL_LANG.en.field_mail = Mail..._LOCAL_LANG.en.field_sexus = Gender 20
Illustration 32:..._LOCAL_LANG.en.value_female = Female'..._LOCAL_LANG.en.value_male = Male 20
Illustration 33:The field name of the mail address is “mail”.In the setup it's the line:plugin.tx_logicalform_pi1.fields.mail... 21
Illustration 34: The sent mail and the controlling with the setup 21
Illustration 35: Fields and values in the form 22
Illustration 36: Mail with values of the form and of the setup 22
Illustration 37: Example for Html output in the debug mode 24
Alphabetical Index¶
38