.. include:: /Includes.rst.txt .. _deprecation-108843-1738600000: ========================================================================== Deprecation: #108843 - ExtensionManagementUtility::addFieldsToUserSettings ========================================================================== See :issue:`108843` See :issue:`108832` Description =========== The method :php:`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToUserSettings()` has been deprecated in favor of the new :php:`addUserSetting()` method. The legacy method required two separate steps to add a field to user settings: first, adding the field configuration to the columns array and second, calling :php:`addFieldsToUserSettings()` to add it to the showitem list. The new method combines both steps into a single call and uses TCA as the storage location. Impact ====== Calling the deprecated method will trigger a deprecation-level log entry. The method will be removed in TYPO3 v15.0. The extension scanner reports usages as a **strong** match. Affected installations ====================== Instances or extensions that use :php:`ExtensionManagementUtility::addFieldsToUserSettings()` or directly modify :php:`$GLOBALS['TYPO3_USER_SETTINGS']` to add custom fields to the backend user profile settings. Migration ========= Replace the two-step approach with the new :php:`addUserSetting()` method. Note that the new method uses TCA-style configuration and should be called from :file:`Configuration/TCA/Overrides/be_users.php` instead of :file:`ext_tables.php`. Before ~~~~~~ .. code-block:: php // In ext_tables.php $GLOBALS['TYPO3_USER_SETTINGS']['columns']['myCustomSetting'] = [ 'type' => 'check', 'label' => 'LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:myCustomSetting', ]; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToUserSettings( 'myCustomSetting', 'after:emailMeAtLogin' ); After ~~~~~ .. code-block:: php // In Configuration/TCA/Overrides/be_users.php \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserSetting( 'myCustomSetting', [ 'label' => 'LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:myCustomSetting', 'config' => [ 'type' => 'check', 'renderType' => 'checkboxToggle', ], ], 'after:emailMeAtLogin' ); Field type mapping ------------------ When migrating, use the following type mappings: ============== ========================================================== Legacy type TCA config ============== ========================================================== text :php:`['type' => 'input']` email :php:`['type' => 'email']` number :php:`['type' => 'number']` password :php:`['type' => 'password']` check :php:`['type' => 'check', 'renderType' => 'checkboxToggle']` select :php:`['type' => 'select', 'renderType' => 'selectSingle']` language :php:`['type' => 'language']` ============== ========================================================== .. index:: PHP-API, FullyScanned, ext:core