Skip to content

Commit

Permalink
[BUGFIX] sorting when copyToLanguage
Browse files Browse the repository at this point in the history
child element are sorted after default language content element
when copyToLanguage
  • Loading branch information
achimfritz committed Jan 31, 2025
1 parent 375309c commit b623455
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 71 deletions.
2 changes: 2 additions & 0 deletions Classes/Hooks/Datahandler/CommandMapPostProcessingHook.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ protected function localizeOrCopyToLanguage(int $uid, int $language, string $com
{
try {
$container = $this->containerFactory->buildContainer($uid);
(GeneralUtility::makeInstance(DatahandlerProcess::class))->startContainerProcess($uid);
$children = $container->getChildRecords();
$children = array_reverse($children);
$cmd = ['tt_content' => []];
Expand All @@ -62,6 +63,7 @@ protected function localizeOrCopyToLanguage(int $uid, int $language, string $com
$localDataHandler->start([], $cmd, $dataHandler->BE_USER);
$localDataHandler->process_cmdmap();
}
(GeneralUtility::makeInstance(DatahandlerProcess::class))->endContainerProcess($uid);
} catch (Exception $e) {
// nothing todo
}
Expand Down
6 changes: 3 additions & 3 deletions Classes/Hooks/Datahandler/DatamapPreProcessFieldArrayHook.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ public function __construct(

protected function newElementAfterContainer(array $incomingFieldArray): array
{
if (($incomingFieldArray['l10n_source'] ?? 0) > 0 && (GeneralUtility::makeInstance(DatahandlerProcess::class))->isContainerInProcess((int)$incomingFieldArray['tx_container_parent'])) {
$incomingFieldArray['pid'] = -$incomingFieldArray['l10n_source'];
}
$record = $this->database->fetchOneRecord(-(int)$incomingFieldArray['pid']);
if ($record === null) {
// new elements in container have already correct target
Expand All @@ -64,9 +67,6 @@ protected function newElementAfterContainer(array $incomingFieldArray): array
if ((int)$record['uid'] === (int)($incomingFieldArray['tx_container_parent'] ?? 0)) {
return $incomingFieldArray;
}
if (($record['l10n_source'] ?? 0) > 0 && (int)$record['l10n_source'] === (int)($incomingFieldArray['tx_container_parent'] ?? 0)) {
return $incomingFieldArray;
}
if ((int)($incomingFieldArray['tx_container_parent'] ?? 0) > 0 &&
(GeneralUtility::makeInstance(DatahandlerProcess::class))->isContainerInProcess((int)$incomingFieldArray['tx_container_parent'])
) {
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
,1,0,"page-1"
,2,0,"page-1-language-1"
"tt_content"
,"uid","pid","CType","header","sorting","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",256,0,0,0,0,0
,2,1,"header","header-language-1",128,0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",1028,0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",1,0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] second-container",64,1,0,0,91,91
,94,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",32,1,200,91,92,92
,95,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",192,1,0,0,1,1
,96,1,"header","[Translate to german:] header-language-1",48,1,200,1,2,2
,"uid","pid","CType","header","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",0,0,0,0,0
,2,1,"header","header-language-1",0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] second-container",1,0,0,91,91
,94,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",1,200,91,92,92
,95,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",1,0,0,1,1
,96,1,"header","[Translate to german:] header-language-1",1,200,1,2,2
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
,1,0,"page-1"
,2,0,"page-1-language-1"
"tt_content"
,"uid","pid","CType","header","sorting","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",256,0,0,0,0,0
,2,1,"header","header-language-1",128,0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",1028,0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",1,0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",192,1,0,0,1,1
,94,1,"header","[Translate to german:] header-language-1",160,1,200,1,2,2
,95,1,"b13-2cols-with-header-container","[Translate to german:] second-container",224,1,0,0,91,91
,96,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",64,1,200,91,92,92
,"uid","pid","CType","header","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",0,0,0,0,0
,2,1,"header","header-language-1",0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",1,0,0,1,1
,94,1,"header","[Translate to german:] header-language-1",1,200,1,2,2
,95,1,"b13-2cols-with-header-container","[Translate to german:] second-container",1,0,0,91,91
,96,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",1,200,91,92,92
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
,1,0,"page-1"
,2,0,"page-1-language-1"
"tt_content"
,"uid","pid","CType","header","sorting","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",256,0,0,0,0,0
,2,1,"header","header-language-1",128,0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",1028,0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",1,0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] second-container",64,1,0,0,0,91
,94,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",96,1,200,93,0,92
,95,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",192,1,0,0,0,1
,96,1,"header","[Translate to german:] header-language-1",224,1,200,95,0,2
,"uid","pid","CType","header","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",0,0,0,0,0
,2,1,"header","header-language-1",0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] second-container",1,0,0,0,91
,94,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",1,200,93,0,92
,95,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",1,0,0,0,1
,96,1,"header","[Translate to german:] header-language-1",1,200,95,0,2
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
,1,0,"page-1"
,2,0,"page-1-language-1"
"tt_content"
,"uid","pid","CType","header","sorting","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",256,0,0,0,0,0
,2,1,"header","header-language-1",128,0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",1028,0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",1,0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",192,1,0,0,0,1
,94,1,"header","[Translate to german:] header-language-1",224,1,200,93,0,2
,95,1,"b13-2cols-with-header-container","[Translate to german:] second-container",240,1,0,0,0,91
,96,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",248,1,200,95,0,92
,"uid","pid","CType","header","sys_language_uid","colPos","tx_container_parent","l18n_parent","l10n_source"
,1,1,"b13-2cols-with-header-container","container-language-1",0,0,0,0,0
,2,1,"header","header-language-1",0,200,1,0,0
,91,1,"b13-2cols-with-header-container","second-container",0,0,0,0,0
,92,1,"header","child-in-second-container-with-sorting-before-children-in-first-container",0,200,91,0,0
,93,1,"b13-2cols-with-header-container","[Translate to german:] container-language-1",1,0,0,0,1
,94,1,"header","[Translate to german:] header-language-1",1,200,93,0,2
,95,1,"b13-2cols-with-header-container","[Translate to german:] second-container",1,0,0,0,91
,96,1,"header","[Translate to german:] child-in-second-container-with-sorting-before-children-in-first-container",1,200,95,0,92

0 comments on commit b623455

Please sign in to comment.