[BUGFIX] Fix PageTS config example of CKEditor RTE
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / 8.6 / Breaking-79464-ExtFormRefactorFluidRendering.rst
1 .. include:: ../../Includes.txt
2
3 ======================================================
4 Breaking: #51442 - EXT:form - Refactor fluid rendering
5 ======================================================
6
7 See :issue:`79464`
8
9 Description
10 ===========
11
12 EXT:form uses "fluid" as the default rendering strategy.
13 Therefore, EXT:form has to work closely with the concepts of fluid to avoid current and future problems.
14 Until now, EXT:form tried to reuse a fluid view instance by reconfiguring the instance on each nesting level, but fluid is not intended for such a purpose.
15 This change reduces the complexity of the rendering process and works closer with the concepts of fluid.
16
17 Impact
18 ======
19
20 The configuration options `renderingOptions.templateRootPaths`, `renderingOptions.partialRootPaths` and `renderingOptions.layoutRootPaths` for form elements are
21 from now on only rules for the root form element ('Form') and will be applied for all child form elements.
22 If you configure `renderingOptions.templateRootPaths` etc. for other form elements it will have no effect.
23
24 The configuration option `renderingOptions.templatePathAndFilename` for form elements was removed from the configuration and will have no effect.
25 To define a template file name which should be used instead of a filename which is named like the form element type, there is a new option `renderingOptions.templateName`.
26
27 The internal setting `renderingOptions.renderableNameInTemplate` for form elements has been removed from the configuration and will have no effect.
28
29 The setting `rendererClassName` for form elements are from now on only rules for the root form element ('Form').
30 If you define this option for other form elements, an `invalid configuration` exception will be thrown.
31
32 The configuration for the backend editor inline templates which are used by editor javascript has changed.
33 The configuration path `prototypes.<prototypeName>.formEditor.formEditorTemplates` has been renamed and has no effect anymore.
34 The fluid configuration part moved from `prototypes.<prototypeName>.formEditor.formEditorTemplates` to a new section `prototypes.<prototypeName>.formEditor.formEditorFluidConfiguration`.
35 The backend editor inline template mapping moved to a new section `prototypes.<prototypeName>.formEditor.formEditorPartials`.
36 The inline template mapping for stage templates has been condensed. If you define custom form editor stage templates which use a default stage template it could
37 result in a javascript error within the form editor.
38
39 The template files moved from `Resources/Private/Frontend/Templates/FormElements/` to `Resources/Private/Frontend/Partials`.
40 The template structure has changed. Without adaptation of your overridden templates, no form elements are visible within the frontend.
41
42
43 Affected Installations
44 ======================
45
46 All installations since TYPO3 8.5 which use the new EXT:form extension and create or extend custom form elements through configuration and / or
47 override EXT:form template files.
48
49 Migration
50 =========
51
52 If you override/ extend
53
54     `TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin.renderingOptions.templateRootPaths`
55     `TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin.renderingOptions.partialRootPaths`
56     `TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin.renderingOptions.layoutRootPaths`
57
58 move it to
59
60     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.templateRootPaths`
61     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.partialRootPaths`
62     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.layoutRootPaths`
63
64
65 If you override/ extend
66
67     `TYPO3.CMS.Form.mixins.formElementMixins.BaseFormElementMixin.renderingOptions.skipUnknownElements`
68
69 move it to
70
71     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.skipUnknownElements`
72
73
74 If you defined
75
76     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.<formElementType>.rendererClassName`
77
78 for a <formElementType> which is *NOT* 'Form', you have to remove this setting.
79
80
81 If you defined
82
83     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.renderableNameInTemplate`
84
85 you have to use
86
87     `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.templateName`
88
89 `templateName` is the partial path, relative to `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.partialRootPaths`
90
91
92 If you defined custom form editor templates within
93
94     `TYPO3.CMS.Form.prototypes.<prototypeName>.formEditor.formEditorTemplates`
95
96 you have to move this to
97
98     `TYPO3.CMS.Form.prototypes.<prototypeName>.formEditor.formEditorPartials`
99
100
101 If you defined a custom form editor stage template which depends on a default form editor stage template you have to redefine it:
102
103     Stage/Text => Stage/SimpleTemplate
104     Stage/Password => Stage/SimpleTemplate
105     Stage/AdvancedPassword => Stage/SimpleTemplate
106     Stage/Textarea => Stage/SimpleTemplate
107     Stage/Checkbox => Stage/SimpleTemplate
108     Stage/MultiCheckbox => Stage/SelectTemplate
109     Stage/MultiSelect => Stage/SelectTemplate
110     Stage/RadioButton => Stage/SelectTemplate
111     Stage/SingleSelect => Stage/SelectTemplate
112     Stage/DatePicker => Stage/SimpleTemplate
113     Stage/Hidden => Stage/SimpleTemplate
114     Stage/FileUpload => Stage/FileUploadTemplate
115     Stage/ImageUpload => Stage/FileUploadTemplate
116
117
118 All form element templates except the template for the `Form` element moved from templates to partials.
119 You have to move this too, if you extended the fluid search paths.
120 The 'Form' element is a template and will be found through `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.templateRootPaths`.
121 All other form elements are partials and will be found through `TYPO3.CMS.Form.prototypes.<prototypeName>.formElementsDefinition.Form.renderingOptions.partialRootPaths`.
122
123
124 The template/partial structure has changed. You have to adapt this to your custom templates.
125 Please look at the files within EXT:form/Resources/Private/Frontend/Partials
126 to see what has happened.
127 The main change is that you have to wrap the markup with
128
129     <formvh:renderRenderable renderable="{element}">
130         some form element
131     </formvh:renderRenderable>
132
133 .. index:: Backend, Frontend, ext:form