Project

General

Profile

Actions

Bug #87093

closed

TYPO3 9.5: CONTENT TypoScript object type does not select records with language set to -1

Added by Manfred Egger almost 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Localization
Target version:
-
Start date:
2018-12-06
Due date:
% Done:

100%

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

Description

If you create tt_contents with language set to "All" aka 1 then those records are only shown in foreign languages. In the default language (sys_language_uid = 0) they are not shown.
It seems that in ContentObjectRenderer->getQueryConstraints the constraint "AND (tt_content.sys_language_uid in (0,-1))" is only added, if the same page is opened in other languages. In the default language it's always "AND (tt_content.sys_language_uid = 0)". In TYPO3 8.5 the expected constraint is also added in the default language.
The problem is, that in ContentObjectRenderer
>getQueryConstraints the LanguageAspect's doOverlays() method is queried, and this only return true if sys_language_uid is greater 0.
For me the solution is to change the else part on line 6936 (TYPO3 9.5.1) in ContentObjectRenderer.php from

$languageQuery = $expressionBuilder->eq($languageField, $languageAspect->getContentId());

to

$languageQuery = $expressionBuilder->in($languageField, [$languageAspect->getContentId(), -1]);

but I don't know if there are any unexpected side effects.

Side note: I also made some other tests and for me extbase records and even the RECORD TypoScript object works as expected. I think only CONTENT TypoScript object and code parts which depends on ContentObjectRenderer->getQueryConstraints are affected.


Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #87950: No language fallbackClosed2019-03-19

Actions
Has duplicate TYPO3 Core - Bug #87749: content elements with language "all languages -1" not working in default languageClosed2019-02-20

Actions
Actions #1

Updated by Manfred Egger almost 6 years ago

  • Subject changed from CONTENT TypoScript object type does not select records with language set to -1 to TYPO3 9.5: CONTENT TypoScript object type does not select records with language set to -1
Actions #2

Updated by Attila Glück almost 6 years ago

I can confirm this issue

Actions #3

Updated by Martin Weymayer almost 6 years ago

I can confirm this issue too

Actions #4

Updated by Martin Weymayer almost 6 years ago

@Manfred Egger: did you find any unexpected side effects or is you fix working fine?

Actions #5

Updated by Manfred Egger over 5 years ago

@Martin Weymayer: I didn't test all possibilities, but for my installations the fix is working fine.

Actions #6

Updated by Martin Weymayer over 5 years ago

thanks for info!

Actions #7

Updated by Manfred Egger over 5 years ago

  • Has duplicate Bug #87749: content elements with language "all languages -1" not working in default language added
Actions #8

Updated by Gerrit Code Review over 5 years ago

  • Status changed from New to Under Review

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/59993

Actions #9

Updated by Gerrit Code Review over 5 years ago

Patch set 1 for branch 9.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/60192

Actions #10

Updated by Benni Mack over 5 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #11

Updated by Benni Mack over 5 years ago

  • Related to Bug #87950: No language fallback added
Actions #12

Updated by Benni Mack over 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF