Skip to content

Commit 9b4ccea

Browse files
committed
[BUGFIX] copyToLanguage with nested elements
when adding support for v13 condition with t3_origuid in datahandler hook was removed because TYPO3 dropped t3_origuid field this patch readds condition with l10n_source field instead of t3_origuid field Fixes: #572
1 parent 9d29e35 commit 9b4ccea

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

Classes/Hooks/Datahandler/DatamapPreProcessFieldArrayHook.php

+3
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ protected function newElementAfterContainer(array $incomingFieldArray): array
6464
if ((int)$record['uid'] === (int)($incomingFieldArray['tx_container_parent'] ?? 0)) {
6565
return $incomingFieldArray;
6666
}
67+
if (($record['l10n_source'] ?? 0) > 0 && (int)$record['l10n_source'] === (int)($incomingFieldArray['tx_container_parent'] ?? 0)) {
68+
return $incomingFieldArray;
69+
}
6770
if ((int)($incomingFieldArray['tx_container_parent'] ?? 0) > 0 &&
6871
(GeneralUtility::makeInstance(DatahandlerProcess::class))->isContainerInProcess((int)$incomingFieldArray['tx_container_parent'])
6972
) {

Tests/Functional/Datahandler/Localization/CopyToLanguageSortingTest.php

+18
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,22 @@ public function localizeChildAfterContainerChild(): void
8484
$this->dataHandler->process_cmdmap();
8585
self::assertCSVDataSet(__DIR__ . '/Fixtures/CopyToLanguageSorting/LocalizeChildAfterContainerChildResult.csv');
8686
}
87+
88+
/**
89+
* @test
90+
*/
91+
public function localizeWithNestedElements(): void
92+
{
93+
$this->importCSVDataSet(__DIR__ . '/Fixtures/CopyToLanguageSorting/LocalizeWithNestedElements.csv');
94+
$cmdmap = [
95+
'tt_content' => [
96+
1 => [
97+
'copyToLanguage' => 4,
98+
],
99+
],
100+
];
101+
$this->dataHandler->start([], $cmdmap, $this->backendUser);
102+
$this->dataHandler->process_cmdmap();
103+
self::assertCSVDataSet(__DIR__ . '/Fixtures/CopyToLanguageSorting/LocalizeWithNestedElementsResult.csv');
104+
}
87105
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"tt_content"
2+
,"uid","pid","CType","header","sorting","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
3+
,"1","1","b13-2cols-with-header-container","container-1","256","0","0","0","0","0"
4+
,"2","1","b13-2cols-with-header-container","container-2","512","0","201","1","0","0"
5+
,"3","1","header","child-2-1","768","0","201","2","0","0"
6+
,"4","1","header","child-2-2","1024","0","201","2","0","0"
7+
"pages"
8+
,"uid","pid","title","sys_language_uid","l10n_parent"
9+
,"1","0","page-1","0","0"
10+
,"2","0","page-1-language-1","1","1"
11+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"tt_content"
2+
,"uid","pid","CType","header","sorting","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
3+
,"1","1","b13-2cols-with-header-container","container-1","256","0","0","0","0","0"
4+
,"2","1","b13-2cols-with-header-container","container-2","512","0","201","1","0","0"
5+
,"3","1","header","child-2-1","768","0","201","2","0","0"
6+
,"4","1","header","child-2-2","1024","0","201","2","0","0"
7+
,"5","1","b13-2cols-with-header-container","[Translate to English-Free:] container-1","1280","4","0","0","0","1"
8+
,"6","1","b13-2cols-with-header-container","[Translate to English-Free:] container-2","1536","4","201","5","0","2"
9+
,"8","1","header","[Translate to English-Free:] child-2-1","1664","4","201","6","0","3"
10+
,"7","1","header","[Translate to English-Free:] child-2-2","1792","4","201","6","0","4"
11+

0 commit comments

Comments
 (0)