[BUGFIX] Make Extbase translation handling consistent with TypoScript 74/53974/116
authorTymoteusz Motylewski <t.motylewski@gmail.com>
Mon, 16 Jul 2018 16:02:09 +0000 (18:02 +0200)
committerTymoteusz Motylewski <t.motylewski@gmail.com>
Sun, 30 Sep 2018 13:08:41 +0000 (15:08 +0200)
commit33e7fe26c91a9584495b223903ec97d4ff110e9d
tree9558e6720d4facce819b27b817b87fdb681d2a06
parenta863e4cce67b8fdbf1389334ea2fe7e8258f6a77
[BUGFIX] Make Extbase translation handling consistent with TypoScript

Make Extbase fetch records in the same way as in TypoScript rendering,
making QuerySettings options mean the same as corresponding settings
from TypoScript.

This change allows e.g. to filter and sort by translated values
of the aggregate root.

To make upgrades easier a feature switch is introduced which
enables the new behavior. It can be disabled with TypoScript if
somebody relies on the old behavior.

The feature switch is enabled by default in v9 and will be gone in v10
so in version 10 the fixed way will be the only way to fetch records
in Extbase.

Releases: master
Resolves: #82363
Resolves: #84011
Change-Id: I58d0a24c1f73debc6b9251efea9c28c9cf09d6d0
Reviewed-on: https://review.typo3.org/53974
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: TYPO3com <no-reply@typo3.com>
23 files changed:
typo3/sysext/core/Classes/Context/LanguageAspect.php
typo3/sysext/core/Classes/Database/Schema/ConnectionMigrator.php
typo3/sysext/core/Documentation/Changelog/master/Important-82363-MakeExtBaseTranslationHandlingConsistentWithTyposcript.rst [new file with mode: 0644]
typo3/sysext/extbase/Classes/Domain/Model/FileReference.php
typo3/sysext/extbase/Classes/Persistence/Generic/LazyLoadingProxy.php
typo3/sysext/extbase/Classes/Persistence/Generic/LazyObjectStorage.php
typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMap.php
typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapFactory.php
typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php
typo3/sysext/extbase/Classes/Persistence/Generic/Query.php
typo3/sysext/extbase/Classes/Persistence/Generic/QueryResult.php
typo3/sysext/extbase/Classes/Persistence/Generic/QuerySettingsInterface.php
typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbBackend.php
typo3/sysext/extbase/Classes/Persistence/Generic/Storage/Typo3DbQueryParser.php
typo3/sysext/extbase/Classes/Persistence/Generic/Typo3QuerySettings.php
typo3/sysext/extbase/Tests/Functional/Persistence/Fixtures/translatedBlogExampleData.csv
typo3/sysext/extbase/Tests/Functional/Persistence/QueryLocalizedDataLegacyTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Functional/Persistence/QueryLocalizedDataTest.php
typo3/sysext/extbase/Tests/Functional/Persistence/TranslatedContentLegacyTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Functional/Persistence/TranslatedContentTest.php
typo3/sysext/extbase/Tests/Functional/Persistence/TranslationLegacyTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Functional/Persistence/TranslationTest.php
typo3/sysext/extbase/ext_typoscript_setup.typoscript