Deprecation: #70138 - Flex form language handling¶
See forge#70138
Description¶
TCA
flex fields had an own language handling that allowed to store field localization within
the flex data itself and not within the usual database driven overlay records. This was mainly
introduced for TemplaVoila
and usually only used in this context.
The whole flex form specific language handling has been moved from core extensions to extension
compatibility6
and will not be delivered with TYPO3 CMS 7 LTS
anymore.
The following flex XML data structure keys have been marked as deprecated and are supported by compatiblity6
only:
<meta><langDisable>
<meta><langChildren>
<meta><currentLangId>
The following PageTSConfig
options have been dropped and are ignored if compatibility6
is not loaded:
TCEFORM.[tableName].[field].[dataStructureKey].langDisable
TCEFORM.[tableName].[field].[dataStructureKey].langChildren
The following UserTSConfig
options have been dropped and are ignored if compatibility6
is not loaded:
options.checkPageLanguageOverlay
The following LocalConfiguration
value has been marked as deprecated, will be removed by the install tool and
is set by compatibility6
to TRUE
:
$GLOBALS['TYPO3_CONF_VARS']['BE']['flexFormXMLincludeDiffBase']
The following method has been marked as deprecated and is cloned by compatibility6
in an XCLASS
:
TYPO3\CMS\Core\Configaration\FlexForm\FlexFormTools->getAvailableLanguages()
The following property has been marked as deprecated:
TYPO3\CMS\Core\DataHandling\DataHandler->clear_flexFormData_vDEFbase
Impact¶
If this feature is needed, the compatibility6
extension must be loaded to keep compatibility
with older versions after upgrading from TYPO3 CMS 6.2
. If the extension is not loaded,
flex form fields can no longer be localized on flex data level.
Affected Installations¶
All multi language installations that use flex form with meta field langDisable
not set to 1
in their data structure definition and that make active use of the flex localization feature.
This is the case if records with flex form fields show flex forms multiple times with different
language flags.
Migration¶
Load extension compatibility6
for a compatibility layer in TYPO3 CMS 7
, or migrate affected
features to use the record based localization feature. The flex field based language handling
will most likely vanish with TYPO3 CMS 8
altogether. In case the feature is needed for a
longer time the code from compatibility6
could be used as a kick start for an implementation
within an own extension.
In case compatibility6
is loaded, some core content elements may start showing flex field
language overlays since the langDisable
meta definition has been removed from their data
structure XML. This can be suppressed with this PageTSConfig
snippet:
TCEFORM.tt_content.pi_flexform.table.langDisable = 1
TCEFORM.tt_content.pi_flexform.login.langDisable = 1
TCEFORM.tt_content.pi_flexform.media.langDisable = 1