Field value does not get converted to array if using overrideVals
When a field value override is specified, the TCA configuration of that field gets reset to type = "hidden".
The unwished side effect of this is that e.g. the TcaSelectItems data provider does not process the field anymore. Therefore, the value stays as-is and is not converted to an array (by
This is e.g. relevant for pages:sys_language_uid, which is overridden in the "edit" button in the page module. This leads to e.g. the wrong URL slug being shown (if your sys_language_uid is >= 10).
How to reproduce¶
- have a site with sys_language_uid 1 and one sys_language_uid X (10..19)
- create a translation of a page to languages 1 and X
- edit the page in language X => the slug will be the one from language 1
The DatabaseRecordOverrideValues processor should only set renderType = hidden, and that must be respected by the code rendering the forms.
[BUGFIX] Also process array in InputSlugElement
It is possible that the incoming $row contains an array
at the $languageField. This patch assures that the
$languageId can always be determined.
Reviewed-by: Susanne Moog <firstname.lastname@example.org>
Tested-by: Susanne Moog <email@example.com>
Tested-by: TYPO3com <firstname.lastname@example.org>
Reviewed-by: Oliver Hader <email@example.com>
Tested-by: Oliver Hader <firstname.lastname@example.org>
Reviewed-by: Anja Leichsenring <email@example.com>
Tested-by: Anja Leichsenring <firstname.lastname@example.org>