[BUGFIX] Ensure manually updated slug is saved correctly
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / 8.0 / Feature-72309-EXTform-AllowIntegrationOfPredefinedForms.rst
1
2 .. include:: ../../Includes.txt
3
4 ============================================================
5 Feature: #72309 - EXT:form - Integration of Predefined Forms
6 ============================================================
7
8 See :issue:`72309`
9
10 Description
11 ===========
12
13 The content element of EXT:form now allows the integration of predefined forms. An integrator can
14 define forms - for example within a site package - using `plugin.tx_form.predefinedForms`. An
15 editor can add a new `mailform` content element to a page and choose a form from a list of
16 predefined elements.
17
18 There are even more advantages:
19
20 *  Integrators can build there forms with TypoScript which offers much more
21    possibilities than doing it within the form wizard. Especially, the
22    integrator is able to use stdWrap functionality which are not available when
23    using the form wizard (for security reasons).
24
25 *  There is no need anymore for editors to use the form wizard. They can choose the
26    predefined forms which are optimized layout-wise.
27
28 *  Forms can be re-used throughout the whole installation.
29
30 *  Forms can be stored outside the DB and versioned.
31
32 In order to be able to select the pre-defined form in the backend, the form has to be registered
33 using PageTS.
34
35 .. code-block:: typoscript
36
37    TCEFORM.tt_content.tx_form_predefinedform.addItems.contactForm = LLL:EXT:my_theme/Resources/Private/Language/locallang.xlf:contactForm
38
39 Example form:
40
41 .. code-block:: typoscript
42
43    plugin.tx_form.predefinedForms.contactForm = FORM
44    plugin.tx_form.predefinedForms.contactForm {
45       enctype = multipart/form-data
46       method = post
47       prefix = contact
48       confirmation = 1
49
50       postProcessor {
51          1 = mail
52          1 {
53             recipientEmail = test@mail.com
54             senderEmail = test@mail.com
55             subject {
56                value = Contact form
57                lang.de = Kontakt Formular
58             }
59          }
60       }
61
62       10 = TEXTLINE
63       10 {
64          name = name
65          type = text
66          required = required
67          label {
68             value = Name
69             lang.de = Name
70          }
71          placeholder {
72             value = Enter your name
73             lang.de = Name eingeben
74          }
75       }
76
77       20 = TEXTLINE
78       20 {
79          name = email
80          type = email
81          required = required
82          label {
83             value = Email
84             lang.de = E-Mail
85          }
86          placeholder {
87             value = Enter your email address
88             lang.de = E-Mail Adresse eingeben
89          }
90       }
91
92       30 = TEXTAREA
93       30 {
94          name = message
95          cols = 40
96          rows = 5
97          required = required
98          label {
99             value = Message
100             lang.de = Nachricht
101          }
102          placeholder {
103             value = Enter your message
104             lang.de = Nachricht eingeben
105          }
106       }
107
108       40 = SUBMIT
109       40 {
110          name = 5
111          type = submit
112          value {
113             value = Send
114             lang.de = Senden
115          }
116       }
117    }
118
119 ..
120
121 .. index:: ext:form, TypoScript, TSConfig