[BUGFIX] EXT:form - fix templateRootPaths support for email finishers
[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
244             EmailToSender:
245               __inheritances:
246                 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
247
248             EmailToReceiver:
249               __inheritances:
250                 10: 'TYPO3.CMS.Form.mixins.finishersEmailMixin'
251
252             DeleteUploads:
253               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher'
254
255             FlashMessage:
256               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher'
257               #options:
258                 #messageBody: ''
259                 #messageTitle: ''
260                 #messageArguments: {}
261                 #messageCode: 0
262                 #severity: 0
263
264             Redirect:
265               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher'
266               #options:
267                 #pageUid: 1
268                 #additionalParameters: ''
269                 #delay: 0
270                 #statusCode: 303
271
272             SaveToDatabase:
273               implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher'
274               #options:
275                 #table: ''
276                 #mode: 'insert'
277                 #whereClause: []
278                 #elements:
279                 #  <elementIdentifier>:
280                 #    mapOnDatabaseColumn: <databaseColumnName>
281                 #    saveFileIdentifierInsteadOfUid: false
282                 #    skipIfValueIsEmpty: false
283                 #databaseColumnMappings:
284                 #  <databaseColumnName>:
285                 #    value: 'someValue'
286                 #    skipIfValueIsEmpty: false
287
288           ### VALIDATORS ###
289           validatorsDefinition:
290             NotEmpty:
291               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NotEmptyValidator'
292             DateTime:
293               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\DateTimeValidator'
294             Alphanumeric:
295               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\AlphanumericValidator'
296             Text:
297               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\TextValidator'
298             StringLength:
299               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator'
300               #options:
301                 #minimum: 0
302                 #maximum: 0
303             EmailAddress:
304               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\EmailAddressValidator'
305             Integer:
306               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\IntegerValidator'
307             Float:
308               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\FloatValidator'
309             NumberRange:
310               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\NumberRangeValidator'
311               #options:
312                 #minimum: 0
313                 #maximum: 0
314             RegularExpression:
315               implementationClassName: 'TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator'
316               #options:
317                 #regularExpression: '/^.*$/'
318             Count:
319               implementationClassName: 'TYPO3\CMS\Form\Mvc\Validation\CountValidator'
320               #options:
321                 #minimum: 0
322                 #maximum: 0
323
324       ########### MIXINS ###########
325       mixins:
326         translationSettingsMixin:
327           translation:
328             translationFile: 'EXT:form/Resources/Private/Language/locallang.xlf'
329             #translatePropertyValueIfEmpty: true
330
331         ########### FORM ELEMENT MIXINS ###########
332         formElementMixins:
333           BaseFormElementMixin: []
334               # The form element type is chosen as the template name by default.
335               # If you want another name you can set it with 'templateName'
336               #templateName: 'CustomTemplateName'
337
338           ReadOnlyFormElementMixin:
339             __inheritances:
340               10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
341             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
342
343           FormElementMixin:
344             __inheritances:
345               10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin'
346             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\GenericFormElement'
347             properties:
348               containerClassAttribute: 'input'
349               elementClassAttribute: ''
350               elementErrorClassAttribute: 'error'
351               #gridColumnClassAutoConfiguration:
352               #  viewPorts:
353               #    xs:
354               #      numbersOfColumnsToUse: ''
355               #    sm:
356               #      numbersOfColumnsToUse: ''
357               #    md:
358               #      numbersOfColumnsToUse: ''
359               #    lg:
360               #      numbersOfColumnsToUse: ''
361
362           TextMixin:
363             __inheritances:
364               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
365
366           SelectionMixin:
367             __inheritances:
368               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
369
370           SingleSelectionMixin:
371             __inheritances:
372               10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
373
374           MultiSelectionMixin:
375             __inheritances:
376               10: 'TYPO3.CMS.Form.mixins.formElementMixins.SelectionMixin'
377
378           FileUploadMixin:
379             __inheritances:
380               10: 'TYPO3.CMS.Form.mixins.formElementMixins.FormElementMixin'
381             implementationClassName: 'TYPO3\CMS\Form\Domain\Model\FormElements\FileUpload'
382             properties:
383               saveToFileMount: '1:/user_upload/'
384
385         finishersEmailMixin:
386           implementationClassName: 'TYPO3\CMS\Form\Domain\Finishers\EmailFinisher'
387           options:
388             #subject: ''
389             #recipientAddress: ''
390             #recipientName: ''
391             #senderAddress:
392             #senderName: ''
393             #replyToAddress: ''
394             #carbonCopyAddress: ''
395             #blindCarbonCopyAddress: ''
396             #format: 'html'
397             #attachUploads: true
398             #translation:
399             #  language: 'default'
400             # {@format} depends the 'format' value
401             templateName: '{@format}.html'
402             templateRootPaths:
403               10: 'EXT:form/Resources/Private/Frontend/Templates/Finishers/Email/'
404             #partialRootPaths: []
405             #layoutRootPaths: []
406             #variables: {}