Bug #88063

DataHandler checks parent instead of inline table on localization

Added by Philipp Schlosser 3 months ago. Updated 3 months ago.

Status:
New
Priority:
Must have
Assignee:
-
Category:
DataHandler aka TCEmain
Target version:
-
Start date:
2019-04-03
Due date:
% Done:

0%

TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

DataHandler line 4107: copyRecord_processInline()

4125: // If language is set and differs from original record, this isn't a copy action but a localization of our parent/ancestor:
4126: if ($language > 0 && BackendUtility::isTableLocalizable($table) && $language != $row[$GLOBALS['TCA'][$table]['ctrl']['languageField']]) {
4127:     // Children should be localized when the parent gets localized the first time, just do it:
4128:     $newId = $this->localize($v['table'], $v['id'], $language);
4129: }

In line 4126 it is checked if the parent but not the child table is localizable.
This leads to the following problem:
If you try to localize a record e.g. a download(localizable) which holds multiple downloadfiles(table is not localizable), an error is thrown that says :
'1: Localization failed; "languageField" and "transOrigPointerField" must be defined for the table ...'

History

#1 Updated by Susanne Moog 3 months ago

  • Category set to DataHandler aka TCEmain

Also available in: Atom PDF