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