Bug #84998

Updated by Frans Saris over 1 year ago

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:

<pre>
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.
</pre>
631.</pre>

Situation before @sys_language_uid@ change:

<pre>
tt_content.sys_language_uid = 10
sys_file_reference.uid = 1111
sys_file_reference.sys_language_uid = 10
sys_file_reference.l10n_parent = 0
</pre> <pre>

After change of @sys_language_uid@:
<pre>
tt_content.sys_language_uid = 0
sys_file_reference.uid = 1111
sys_file_reference.sys_language_uid = 10
sys_file_reference.l10n_parent = 0
</pre>

Expected:
<pre>
tt_content.sys_language_uid = 0
sys_file_reference.uid = 1111
sys_file_reference.sys_language_uid = 0
sys_file_reference.l10n_parent = 0
</pre>

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:

<pre>
sys_file_reference.sys_language_uid = 10
sys_file_reference.l10n_parent = 0
</pre>

But this should be
<pre>
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
</pre>

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.

Back