FlexFormProcessor

TYPO3 offers FlexForms which can be used to store data within an XML structure inside a single database column. The data processor \TYPO3\CMS\Frontend\DataProcessing\FlexFormProcessor converts the FlexForm data of a given field into a Fluid-readable array.

Options

fieldname

fieldname
Type
string
Required
false
Default
'pi_flexform'

Field name of the column the FlexForm data is stored in.

as

as
Type
string
Required
false
Default
'flexFormData'

Name for the variable in the Fluid template.

Examples

Example of a minimal TypoScript configuration

EXT:my_extension/Configuration/TypoScript/setup.typoscript
# Before TYPO3 v12.1 you have to specify the fully-qualified class name of the processor
# dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\FlexFormProcessor
# Since TYPO3 v12.1 one can also use the available alias
10 = flex-form
Copied!

New in version 12.1

One can use the alias flex-form instead of the fully-qualified class name \TYPO3\CMS\Frontend\DataProcessing\FlexFormProcessor.

The converted array can be accessed within the Fluid template with the {flexFormData} variable.

Example of an advanced TypoScript configuration

EXT:my_extension/Configuration/TypoScript/setup.typoscript
# Before TYPO3 v12.1 you have to specify the fully-qualified class name of the processor
# dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\FlexFormProcessor
# Since TYPO3 v12.1 one can also use the available alias
10 = flex-form
10 {
    fieldName = my_flexform_field
    as = myOutputVariable
}
Copied!

The converted array can be accessed within the Fluid template with the {myOutputVariable} variable.

Example with a custom sub-processor

EXT:my_extension/Configuration/TypoScript/setup.typoscript
# Before TYPO3 v12.1 you have to specify the fully-qualified class name of the processor
# dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\FlexFormProcessor
# Since TYPO3 v12.1 one can also use the available alias
10 = flex-form
10 {
    fieldName = my_flexform_field
    as = myOutputVariable
    dataProcessing {
        10 = Vendor\MyExtension\DataProcessing\CustomFlexFormProcessor
    }
}
Copied!