[FEATURE] EXT:form - Add the "Confirmation" finisher to the form editor
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Configuration / Yaml / BaseSetup.yaml
1 TYPO3:
2   CMS:
3     Form:
4       persistenceManager:
5         allowedFileMounts:
6           10: 1:/user_upload/
7         allowSaveToExtensionPaths: false
8         allowDeleteFromExtensionPaths: false
9         #allowedExtensionPaths:
10           #10: EXT:example/Resources/Private/Forms/
11
12       prototypes:
13         standard:
14
15           ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
16           formElementsDefinition:
17
18             ### BASE ELEMENTS ###
19             Form:
20               __inheritances:
21                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
22               rendererClassName: 'TYPO3\CMS\Form\Domain\Renderer\FluidFormRenderer'
23               renderingOptions:
24                 __inheritances:
25                   10: 'TYPO3.CMS.Form.mixins.translationSettingsMixin'
26                 templateRootPaths:
27                   10: 'EXT:form/Resources/Private/Frontend/Templates/'
28                 partialRootPaths:
29                   10: 'EXT:form/Resources/Private/Frontend/Partials/'
30                 layoutRootPaths:
31                   10: 'EXT:form/Resources/Private/Frontend/Layouts/'
32                 addQueryString: false
33                 argumentsToBeExcludedFromQueryString: []
34                 additionalParams: []
35                 controllerAction: perform
36                 httpMethod: post
37                 httpEnctype: 'multipart/form-data'
38                 _isCompositeFormElement: false
39                 _isTopLevelFormElement: true
40
41                 honeypot:
42                   enable: true
43                   formElementToUse: 'Honeypot'
44
45                 submitButtonLabel: 'Submit'
46
47                 # set this to TRUE if you want to avoid exceptions for FormElements without definitions
48                 skipUnknownElements: true
49
50             ### FORM ELEMENTS: CONTAINER ###
51             Page:
52               __inheritances:
53                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
54               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\Page'
55               renderingOptions:
56                 _isTopLevelFormElement: true
57                 _isCompositeFormElement: true
58                 nextButtonLabel: 'next Page'
59                 previousButtonLabel: 'previous Page'
60
61             SummaryPage:
62               __inheritances:
63                 10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Page'
64               renderingOptions:
65                 _isTopLevelFormElement: true
66                 _isCompositeFormElement: false
67                 nextButtonLabel: 'next Page'
68                 previousButtonLabel: 'previous Page'
69
70             Fieldset:
71               __inheritances:
72                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
73               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\Section'
74               renderingOptions:
75                 _isCompositeFormElement: true
76
77             GridContainer:
78               __inheritances:
79                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
80               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GridContainer'
81               renderingOptions:
82                 _isCompositeFormElement: true
83                 _isGridContainerFormElement: true
84               properties:
85                 elementClassAttribute: 'container'
86                 # overrules 'GridRow.properties.gridColumnClassAutoConfiguration'
87                 gridColumnClassAutoConfiguration:
88                   gridSize: 12
89                   viewPorts:
90                     xs:
91                       classPattern: 'col-xs-{@numbersOfColumnsToUse}'
92                     sm:
93                       classPattern: 'col-sm-{@numbersOfColumnsToUse}'
94                     md:
95                       classPattern: 'col-md-{@numbersOfColumnsToUse}'
96                     lg:
97                       classPattern: 'col-lg-{@numbersOfColumnsToUse}'
98
99             GridRow:
100               __inheritances:
101                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
102               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GridRow'
103               properties:
104                 elementClassAttribute: 'row'
105                 gridColumnClassAutoConfiguration:
106                   gridSize: 12
107                   viewPorts:
108                     xs:
109                       classPattern: 'col-xs-{@numbersOfColumnsToUse}'
110                     sm:
111                       classPattern: 'col-sm-{@numbersOfColumnsToUse}'
112                     md:
113                       classPattern: 'col-md-{@numbersOfColumnsToUse}'
114                     lg:
115                       classPattern: 'col-lg-{@numbersOfColumnsToUse}'
116               renderingOptions:
117                 _isCompositeFormElement: true
118                 _isGridRowFormElement: true
119
120             ### FORM ELEMENTS: INPUT ###
121             Text:
122               __inheritances:
123                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
124
125             Password:
126               __inheritances:
127                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
128
129             AdvancedPassword:
130               __inheritances:
131                 10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Password'
132               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
133               properties:
134                 elementClassAttribute: 'input-medium'
135                 confirmationLabel: ''
136                 # Optional description (hint) for the first password input element
137                 #passwordDescription: ''
138                 confirmationClassAttribute: 'input-medium'
139
140             Textarea:
141               __inheritances:
142                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
143               properties:
144                 elementClassAttribute: 'xxlarge'
145
146             Honeypot:
147               __inheritances:
148                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
149               properties:
150                 renderAsHiddenField: false
151                 styleAttribute: 'position:absolute; margin:0 0 0 -999em;'
152
153             Hidden:
154               __inheritances:
155                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
156
157             ### FORM ELEMENTS: SELECT ###
158             Checkbox:
159               __inheritances:
160                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
161               properties:
162                 elementClassAttribute: 'add-on'
163                 containerClassAttribute: 'input checkbox'
164                 value: 1
165
166             MultiCheckbox:
167               __inheritances:
168                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.MultiSelectionMixin'
169               properties:
170                 containerClassAttribute: 'input checkbox'
171
172             MultiSelect:
173               __inheritances:
174                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.MultiSelectionMixin'
175               properties:
176                 elementClassAttribute: 'xlarge'
177
178             RadioButton:
179               __inheritances:
180                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SingleSelectionMixin'
181               properties:
182                 elementClassAttribute: 'xlarge'
183
184             SingleSelect:
185               __inheritances:
186                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.SingleSelectionMixin'
187
188             ### FORM ELEMENTS: CUSTOM ###
189             DatePicker:
190               __inheritances:
191                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
192               implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\DatePicker'
193               properties:
194                 elementClassAttribute: 'small form-control'
195                 timeSelectorClassAttribute: 'mini'
196                 timeSelectorHourLabel: ''
197                 timeSelectorMinuteLabel: ''
198                 dateFormat: 'Y-m-d'
199                 enableDatePicker: true
200                 displayTimeSelector: false
201
202             StaticText:
203               __inheritances:
204                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.ReadOnlyFormElementMixin'
205               properties:
206                 text: ''
207
208             ContentElement:
209               __inheritances:
210                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.ReadOnlyFormElementMixin'
211               properties:
212                 contentElementUid: ''
213
214             ### FORM ELEMENTS: UPLOADS ###
215             FileUpload:
216               __inheritances:
217                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FileUploadMixin'
218               properties:
219                 allowedMimeTypes: ['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.oasis.opendocument.text', 'application/pdf']
220
221             ImageUpload:
222               __inheritances:
223                 10: 'TYPO3.CMS.Form.mixins.formElementMixins.FileUploadMixin'
224               properties:
225                 allowedMimeTypes: ['image/jpeg', 'image/png', 'image/bmp']
226                 elementClassAttribute: 'lightbox'
227                 imageLinkMaxWidth: 500
228                 imageMaxWidth: 500
229                 imageMaxHeight: 500
230
231           ### FINISHERS ###
232
233           finishersDefinition:
234             Closure:
235               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher'
236               options:
237                 #closure:
238
239             Confirmation:
240               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher'
241               #options:
242                 #message: ''
243                 #contentElementUid: 0
244                 #typoscriptObjectPath: 'lib.tx_form.contentElementRendering'
245
246             EmailToSender:
247               __inheritances:
248                 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
249
250             EmailToReceiver:
251               __inheritances:
252                 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
253
254             DeleteUploads:
255               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher'
256
257             FlashMessage:
258               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher'
259               #options:
260                 #messageBody: ''
261                 #messageTitle: ''
262                 #messageArguments: {}
263                 #messageCode: 0
264                 #severity: 0
265
266             Redirect:
267               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher'
268               #options:
269                 #pageUid: 1
270                 #additionalParameters: ''
271                 #delay: 0
272                 #statusCode: 303
273
274             SaveToDatabase:
275               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher'
276               #options:
277                 #table: ''
278                 #mode: 'insert'
279                 #whereClause: []
280                 #elements:
281                 #  <elementIdentifier>:
282                 #    mapOnDatabaseColumn: <databaseColumnName>
283                 #    saveFileIdentifierInsteadOfUid: false
284                 #    skipIfValueIsEmpty: false
285                 #databaseColumnMappings:
286                 #  <databaseColumnName>:
287                 #    value: 'someValue'
288                 #    skipIfValueIsEmpty: false
289
290           ### VALIDATORS ###
291           validatorsDefinition:
292             NotEmpty:
293               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NotEmptyValidator'
294             DateTime:
295               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\DateTimeValidator'
296             Alphanumeric:
297               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\AlphanumericValidator'
298             Text:
299               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\TextValidator'
300             StringLength:
301               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator'
302               #options:
303                 #minimum: 0
304                 #maximum: 0
305             EmailAddress:
306               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\EmailAddressValidator'
307             Integer:
308               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\IntegerValidator'
309             Float:
310               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\FloatValidator'
311             NumberRange:
312               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator'
313               #options:
314                 #minimum: 0
315                 #maximum: 0
316             RegularExpression:
317               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator'
318               #options:
319                 #regularExpression: '/^.*$/'
320             Count:
321               implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\CountValidator'
322               #options:
323                 #minimum: 0
324                 #maximum: 0
325
326       ########### MIXINS ###########
327       mixins:
328         translationSettingsMixin:
329           translation:
330             translationFile: 'EXT:form/Resources/Private/Language/locallang.xlf'
331             #translatePropertyValueIfEmpty: true
332
333         ########### FORM ELEMENT MIXINS ###########
334         formElementMixins:
335           BaseFormElementMixin: []
336               # The form element type is chosen as the template name by default.
337               # If you want another name you can set it with 'templateName'
338               #templateName: 'CustomTemplateName'
339
340           ReadOnlyFormElementMixin:
341             __inheritances:
342               10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
343             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
344
345           FormElementMixin:
346             __inheritances:
347               10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
348             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
349             properties:
350               containerClassAttribute: 'input'
351               elementClassAttribute: ''
352               elementErrorClassAttribute: 'error'
353               #gridColumnClassAutoConfiguration:
354               #  viewPorts:
355               #    xs:
356               #      numbersOfColumnsToUse: ''
357               #    sm:
358               #      numbersOfColumnsToUse: ''
359               #    md:
360               #      numbersOfColumnsToUse: ''
361               #    lg:
362               #      numbersOfColumnsToUse: ''
363
364           TextMixin:
365             __inheritances:
366               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
367
368           SelectionMixin:
369             __inheritances:
370               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
371
372           SingleSelectionMixin:
373             __inheritances:
374               10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
375
376           MultiSelectionMixin:
377             __inheritances:
378               10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
379
380           FileUploadMixin:
381             __inheritances:
382               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
383             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload'
384             properties:
385               saveToFileMount: '1:/user_upload/'
386
387         finishersEmailMixin:
388           implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\EmailFinisher'
389           options:
390             #subject: ''
391             #recipientAddress: ''
392             #recipientName: ''
393             #senderAddress:
394             #senderName: ''
395             #replyToAddress: ''
396             #carbonCopyAddress: ''
397             #blindCarbonCopyAddress: ''
398             #format: 'html'
399             #attachUploads: true
400             #translation:
401             #  language: 'default'
402             # {@format} depends the 'format' value
403             templateName: '{@format}.html'
404             templateRootPaths:
405               10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/'
406             #partialRootPaths: []
407             #layoutRootPaths: []
408             #variables: {}