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 Templa
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><lang
Disable> <meta><lang
Children> <meta><current
Lang Id>
The following Page
options have been dropped and are ignored if compatibility6
is not loaded:
TCEFORM.
[table Name]. [field]. [data Structure Key]. lang Disable TCEFORM.
[table Name]. [field]. [data Structure Key]. lang Children
The following User
options have been dropped and are ignored if compatibility6
is not loaded:
options.
check Page Language Overlay
The following Local
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'] ['flex Form XMLinclude Diff Base']
The following method has been marked as deprecated and is cloned by compatibility6
in an XCLASS
:
TYPO3\
CMS\ Core\ Configaration\ Flex Form\ Flex Form Tools->get Available Languages ()
The following property has been marked as deprecated:
TYPO3\
CMS\ Core\ Data Handling\ Data Handler->clear_ flex Form Data_ v DEFbase
Impact
If this feature is needed, the compatibility6
extension must be loaded to keep compatibility
with older versions after upgrading from TYPO3 CMS 6.
. 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 lang
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 lang
meta definition has been removed from their data
structure XML. This can be suppressed with this Page
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