Deprecation: #107047 - ExtensionManagementUtility::addPiFlexFormValue()
See forge#107047
Description
The method
\TYPO3\
has been deprecated.
This method was historically used to assign FlexForm definitions
to plugins registered as subtypes in the list_
field of
tt_
. With the removal of subtypes (see Breaking: #105377 - Deprecated functionality removed)
and the shift to registering plugins as dedicated record types via
CType
, as well as the removal of the ds_
and the multi-entry
ds
array format (see Breaking: #107047 - Remove pointer field functionality of TCA flex), this separate method
call is no longer necessary.
Impact
Calling this method will trigger a deprecation warning. The extension scanner will also report any usages. The method will be removed in TYPO3 v15.
Affected installations
Extensions that call
Extension
to assign FlexForm
definitions to plugins and content elements.
Migration
Instead of using this method, define the FlexForm via one of these approaches:
Option 1: Provide the FlexForm in the
register
call, which is
possible since Feature: #107047 - FlexForm enhancements: Direct plugin registration and raw TCA support:
ExtensionUtility::registerPlugin(
'MyExtension',
'MyPlugin',
'My Plugin Title',
'my-extension-icon',
'plugins',
'Plugin description',
'FILE:EXT:myext/Configuration/FlexForm.xml'
);
Option 2: Provide the FlexForm in the
add
call for non-extbase
plugins, which is also possible since Feature: #107047 - FlexForm enhancements: Direct plugin registration and raw TCA support:
ExtensionUtility::addPlugin(
new SelectItem(
'select',
'My Plugin Title',
'myextension_myplugin',
'my-extension-icon',
'plugins',
'Plugin description',
),
'FILE:EXT:myext/Configuration/FlexForm.xml'
);
Option 3: Use
columns
in TCA directly
$GLOBALS['TCA']['tt_content']['types']['my_plugin']['columnsOverrides']['pi_flexform']['config']['ds'] =
'FILE:EXT:myext/Configuration/FlexForm.xml';