Bug #87982

Insert Records now only inserts records, if in the same language or if sys_language_uid = -1 - up to 8LTS it inserted records independent of sys_language_uid

Added by Daxboeck no-lastname-given 3 months ago. Updated about 1 month ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Content Rendering
Start date:
2019-03-22
Due date:
% Done:

0%

TYPO3 Version:
9
PHP Version:
7.2
Tags:
Insert Records
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

Dear Ladies and Gentlemen,

up to 8LTS, when selecting the "Insert Records" content element, TYPO3 just did show the inserted records on the target page without any language check.
with 9LTS, "Insert Records" performs a language check requiring the source content to be either of the same sys_language_uid or of -1.
It is my opionion that this breaks compatibility and that the language check in this case should be removed.

Next week I will investigate the core together with my developers to find a solution.

Best regards,

Patrick

History

#1 Updated by Daxboeck no-lastname-given 3 months ago

Dear Ladies and Gentlemen,

I found a fix:

--- RecordsContentObject.php-2019-03-22-dax 2019-03-22 08:57:14.250440251 0100
+
+ RecordsContentObject.php 2019-03-22 11:54:13.442445523 0100
@ -95,9 +95,9 @
// Versioning preview
$this->getPageRepository()->versionOL($val['table'], $row);
// Language overlay
- if (is_array($row)) {
- $row = $this->getPageRepository()->getLanguageOverlay($val['table'], $row);
- }
// if (is_array($row)) {
// $row = $this->getPageRepository()->getLanguageOverlay($val['table'], $row);
// }
}
// Might be unset during the overlay process
if (is_array($row)) {

The LanguageOverlay check in this case is unnecessary as the records are inserted by uid and the language check is also incompatible with 8LTS.
However I am currently testing in my upgrade testing site clone.

Have a nice weekend and best regards,

Patrick

#2 Updated by Benni Mack about 2 months ago

Hello Patrick,

I now rechecked this with various v8 installations we have:

On L=0
- Only L=-1 or L=0 records are shown, if you have selected other translated records, they are not rendered.

On L=2 (greek e.g.)
- If you reference a content element with L=0, then the translation gets shown
- If you reference a content element with language that does not match the current language (e.g. L=3) then it does NOT show up.

So, the current 9.5.6 behaviour (see my previous) comment allows this setup as well.

#3 Updated by Benni Mack about 1 month ago

  • Target version changed from next-patchlevel to Candidate for patchlevel

Also available in: Atom PDF