Bug #86554

Field value does not get converted to array if using overrideVals

Added by Andreas Wolf over 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
Backend User Interface
Start date:
2018-10-03
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

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 processDatabaseFieldValue()).

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

Possible fix

The DatabaseRecordOverrideValues processor should only set renderType = hidden, and that must be respected by the code rendering the forms.


Related issues

Related to TYPO3 Core - Bug #86754: OverrideVals are not always set for editing pages ClosedDaniel Goerz2018-10-26

Actions
Is duplicate of TYPO3 Core - Bug #86734: not possible to edit pages with sys_language_uid > 9 with SiteHandlingClosed2018-10-24

Actions

Also available in: Atom PDF