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