Project

General

Profile

Actions

Bug #85914

closed

Errors in L10nModeUpdater with "l10n_mode = exclude" in pages_language_overlay

Added by Mathias Brodala over 6 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2018-08-21
Due date:
% Done:

100%

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

Description

Given a field in pages_language_overlay marked with 'l10n_mode' => 'exclude' the L10nModeUpdater fails to process all records when upgrading from TYPO3v7 to TYPO3v8. The error:

Child record was not processed

In our specific case the field media was marked as such since editors are not supposed to manage it in translations. (Notice that the field is actually never hidden, see #81348) When running the upgrade wizard, it constantly failed with the mentioned error message but in fact did get further by one record on each run.

While looking into this I noticed that the DataMapProcessor determines if 'l10n_mode' => 'exclude' is set for a field based on DataMapItem::getFromTableName() which is always pages for pages_language_overlay. Thus for the given example above $GLOBALS['TCA']['pages']['columns']['media']['l10n_mode'] is checked instead of $GLOBALS['TCA']['pages_language_overlay']['columns']['media']['l10n_mode'].

After moving the l10n_mode to the TCA of pages instead I noticed that this is reverted on the fly by TcaMigration::migratePageLocalizationDefinitions() which moves the l10n_mode back from pages to pages_language_overlay. So it looks like like it is in fact impossible to set l10n_mode for columns of pages/pages_language_overlay.

In the end the issue could be solved/worked around by dropping l10n_mode completely here but I think that's not how it's supposed to be.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #81314: doubled references upon related record changeClosed2017-05-23

Actions
Actions

Also available in: Atom PDF