Bug #78743
closedWrong translation behavior for pages/pages_language_overlay
0%
Description
- on localizing a page, references of
pages.media
are not copied topages_language_overlay.media
in DataHandler iflocalizeChildrenAtParentLocalization
is defined in TCA - RootlineUtility is not capable of resolving overlays correctly, ignores
l10n_mode
and uses custom reference queries -> RelationHandler could be used here
Updated by Wouter Wolters about 8 years ago
- Subject changed from Wrong translation behavior for pages/pages_language_overay to Wrong translation behavior for pages/pages_language_overlay
Updated by Anonymous over 7 years ago
- Related to Bug #81348: TCA pages_language_overlay column 'l10n_mode' => 'exclude' gets ignored added
Updated by Coders.Care Extension Team over 6 years ago
AFAICS copying children together with the page record currently is not possible, since the whole translation process is not based on a copy action but on a simple call to process_datamap:
if ($Ttable === $table) { // Get the uid of record after which this localized record should be inserted $previousUid = $this->getPreviousLocalizedRecordUid($table, $uid, $row['pid'], $language); // Execute the copy: $newId = $this->copyRecord($table, $uid, -$previousUid, true, $overrideValues, implode(',', $excludeFields), $language); $autoVersionNewId = $this->getAutoVersionId($table, $newId); if (is_null($autoVersionNewId) === false) { $this->triggerRemapAction($table, $newId, [$this, 'placeholderShadowing'], [$table, $autoVersionNewId], true); } } else { // Create new record: $temporaryId = StringUtility::getUniqueId('NEW'); $copyTCE = $this->getLocalTCE(); $copyTCE->start([$Ttable => [$temporaryId => $overrideValues]], [], $this->BE_USER); $copyTCE->process_datamap(); // Getting the new UID as if it had been copied: $theNewSQLID = $copyTCE->substNEWwithIDs[$temporaryId]; if ($theNewSQLID) { // If is by design that $Ttable is used and not $table! See "l10nmgr" extension. Could be debated, but this is what I chose for this "pseudo case" $this->copyMappingArray[$Ttable][$uid] = $theNewSQLID; $newId = $theNewSQLID; } }
Since $Ttable (pages_language_overlay) differs from $table (pages) the condition is false, thus just creating a new record without taking care of any special localization configurations.
Updated by Benni Mack over 5 years ago
- Status changed from New to Needs Feedback
Dear Oliver,
can you please verify if your issue still exists in TYPO3 v9 LTS? This issue is of conceptual nature, which means it's imho verrrry hard to fix for v8 on a per-patch level, but it should be solved in TYPO3 v9 with "pages_language_overlay" being merged into "pages".
If you feel like that this issue is solved with TYPO3 v9, let me know and I can close this ticket then.
All the best,
Benni.
Updated by Oliver Hader over 5 years ago
- Status changed from Needs Feedback to Rejected
Since pages_language_overlay
is not part of TYPO3 v9 anymore, this issue is rejected. An according "fix" for TYPO3 v8 would be way too much now for patch level releases.
Updated by Jo Hasenau about 4 years ago
- Has duplicate Bug #92604: Translation of child elements connected to a page record currently broken added