Project

General

Profile

Actions

Bug #84998

open

sys_language uid isn't updated when parent records sys_languge_uid changes

Added by Frans Saris almost 6 years ago. Updated almost 6 years ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
DataHandler aka TCEmain
Target version:
-
Start date:
2018-05-14
Due date:
% Done:

0%

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

Description

When you have a CE (tt_content) with some images created in the not default language and you change the sys_language_uid the relation handling + BE forms break.

When you translate the CE again opening the BE form of the CE will create new sys_language_uid records so you will see multiple file references appearing. Saving the CE will give an error:

ERROR Error handler    
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1486233164: Child record was not processed | RuntimeException thrown in file vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php in line 631.

Situation before sys_language_uid change:

 tt_content.sys_language_uid = 10
 sys_file_reference.uid = 1111
 sys_file_reference.sys_language_uid = 10
 sys_file_reference.l10n_parent = 0

After change of sys_language_uid:

 tt_content.sys_language_uid = 0
 sys_file_reference.uid = 1111
 sys_file_reference.sys_language_uid = 10
 sys_file_reference.l10n_parent = 0

Expected:

 tt_content.sys_language_uid = 0
 sys_file_reference.uid = 1111
 sys_file_reference.sys_language_uid = 0
 sys_file_reference.l10n_parent = 0

Note for others who run into this issue, after you changed the sys_language_uid to 0 and create translation you will see records appearing like:

 sys_file_reference.sys_language_uid = 10
 sys_file_reference.l10n_parent = 0

But this should be

 sys_file_reference.uid = 1111
 sys_file_reference.sys_language_uid = 0
 sys_file_reference.l10n_parent = 0
 sys_file_reference.sys_language_uid = 10
 sys_file_reference.l10n_parent = 1111

Due to the fact that sys_file_reference.sys_language_uid isn't correctly set to 0 for the CE in the default language the l10n_parent value for the translated CE's/file references is not correctly set.


Related issues 1 (1 open0 closed)

Related to TYPO3 Core - Bug #84618: Not possible to translate a record when allowLanguageSynchronization is set for relation field like 'image' in tt_contentAccepted2018-04-04

Actions
Actions #1

Updated by Frans Saris almost 6 years ago

  • Related to Bug #84618: Not possible to translate a record when allowLanguageSynchronization is set for relation field like 'image' in tt_content added
Actions #2

Updated by Frans Saris almost 6 years ago

  • Description updated (diff)
Actions #3

Updated by Mathias Schreiber almost 6 years ago

Changing languages just with the dropdown shouldn't be possible in the first place.
So the select box needs replacement with something that triggers a fullblown wizard.

Actions #4

Updated by Helmut Hummel almost 6 years ago

Mathias Schreiber wrote:

Changing languages just with the dropdown shouldn't be possible in the first place.
So the select box needs replacement with something that triggers a fullblown wizard.

I agree. Quick fix: hide the selector and let users copy the element into a different language instead (through page module wizard)

Actions

Also available in: Atom PDF