Deprecation: #97126 - TCEforms removed in FlexForm¶
See forge#97126
Description¶
The <TCEforms>
tag is no longer necessary (and allowed) in FlexForm
definitions. It was used to wrap TCA configuration and sheet
titles / descriptions. This wrapping must be omitted now.
Impact¶
Not omitting TCEforms
will trigger a deprecation warning and log a message in
the deprecation log. An automatic migration is in place, which will eventually
be removed in upcoming TYPO3 versions.
Affected Installations¶
- All installations making use of FlexForm in their TCA. FlexForm definitions can be defined directly in TCA or can be external XML files.
- Extensions, which extend the YAML configuration for forms with new fields.
Migration¶
Omit the <TCEforms>
tag in your FlexForm definition. The underlying
configuration moves one level up.
Before:
<T3DataStructure>
<ROOT>
<TCEforms>
<sheetTitle>sheet description 1</sheetTitle>
<sheetDescription>
sheetDescription: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</sheetDescription>
<sheetShortDescr>
sheetShortDescr: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</sheetShortDescr>
</TCEforms>
<type>array</type>
<el>
<input_1>
<TCEforms>
<label>input_1</label>
<config>
<type>input</type>
</config>
</TCEforms>
</input_1>
</el>
</ROOT>
</T3DataStructure>
Copied!
After:
<T3DataStructure>
<ROOT>
<sheetTitle>sheet description 1</sheetTitle>
<sheetDescription>
sheetDescription: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</sheetDescription>
<sheetShortDescr>
sheetShortDescr: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</sheetShortDescr>
<type>array</type>
<el>
<input_1>
<label>input_1</label>
<config>
<type>input</type>
</config>
</input_1>
</el>
</ROOT>
</T3DataStructure>
Copied!
Migration for form YAML configuration:
Before:
TYPO3:
CMS:
Form:
prototypes:
standard:
finishersDefinition:
EmailToReceiver:
FormEngine:
elements:
recipients:
el:
_arrayContainer:
el:
email:
TCEforms:
label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
config:
type: input
Copied!
After:
TYPO3:
CMS:
Form:
prototypes:
standard:
finishersDefinition:
EmailToReceiver:
FormEngine:
elements:
recipients:
el:
_arrayContainer:
el:
email:
label: tt_content.finishersDefinition.EmailToSender.recipients.email.label
config:
type: input
Copied!