flex-form
data processor
TYPO3 offers FlexForms which can be used to store
data within an XML structure inside a single database column. The data processor
\TYPO3\
,
alias flex-
, converts the
FlexForm data of a given field into a Fluid-readable array.
Table of contents
Options
fieldname
-
- Type
- string
- Required
- false
- Default
- 'pi_flexform'
Field name of the column the FlexForm data is stored in.
references
-
New in version 13.0
- Required
-
false
- type
-
array
Associative array of FlexForm fields (key) and the according database field (value).
Each FlexForm field, which should be resolved, needs a reference definition to the foreign_match_fields. This reference is used in the FilesProcessor to resolve the correct FAL resource.
as
-
- Type
- string
- Required
- false
- Default
- 'flexFormData'
Name for the variable in the Fluid template.
Examples
Example of a minimal TypoScript configuration
10 = flex-form
The converted array can be accessed within the Fluid template with the
{flex
variable.
Example of an advanced TypoScript configuration
10 = flex-form
10 {
fieldName = my_flexform_field
as = myOutputVariable
}
The converted array can be accessed within the Fluid template with the
{my
variable.
Example with a custom sub-processor
10 = flex-form
10 {
fieldName = my_flexform_field
as = myOutputVariable
dataProcessing {
10 = Vendor\MyExtension\DataProcessing\CustomFlexFormProcessor
}
}
Example of resolving FAL references
New in version 13.0
Example of an advanced TypoScript configuration, which processes the field
my_
, resolves its FAL references and assigns the array to
the my
variable:
10 = flex-form
10 {
fieldName = my_flexform_field
references {
my_flex_form_group.my_flex_form_field = my_field_reference
}
as = myOutputVariable
}
The according FlexForm configuration:
<my_flex_form_group.my_flex_form_field>
<label>LLL:EXT:sitepackage/Resources/Private/Language/locallang_be.xlf:my_flex_form_field</label>
<config>
<type>file</type>
<maxitems>9</maxitems>
<foreign_selector_fieldTcaOverride>
<config>
<appearance>
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>gif,jpg,jpeg,png,svg</elementBrowserAllowed>
</appearance>
</config>
</foreign_selector_fieldTcaOverride>
<foreign_types type="array">
<numIndex index="0">
<showitem>
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,--palette--;;filePalette
</showitem>
</numIndex>
<numIndex index="1">
<showitem>
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,--palette--;;filePalette
</showitem>
</numIndex>
</foreign_types>
<appearance type="array">
<headerThumbnail>
<height>64</height>
<width>64</width>
</headerThumbnail>
<enabledControls>
<info>1</info>
<dragdrop>0</dragdrop>
<sort>1</sort>
<hide>0</hide>
<delete>1</delete>
<localize>1</localize>
</enabledControls>
<createNewRelationLinkTitle>
LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference
</createNewRelationLinkTitle>
</appearance>
<behaviour>
<localizationMode>select</localizationMode>
<localizeChildrenAtParentLocalization>1</localizeChildrenAtParentLocalization>
</behaviour>
<overrideChildTca>
<types type="array">
<numIndex index="2">
<showitem>
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,--palette--;;filePalette
</showitem>
</numIndex>
</types>
</overrideChildTca>
<allowed>jpg,png,svg,jpeg,gif</allowed>
</config>
</my_flex_form_group.my_flex_form_field>