Breaking: #97926 - Extbase QuerySettings methods removed¶
See forge#97926
Description¶
Extbase's Persistence functionality is basing ORM queries on certain settings
usually fetched from QuerySettingsInterface
, with a default
implementation Typo3QuerySettings
.
The interface itself has changed so that it now requires two new methods:
QuerySettingsInterface::getLanguageAspect(): LanguageAspect
QuerySettingsInterface::setLanguageAspect(LanguageAspect $aspect)
The LanguageAspect covers both the overlay functionality and setting the language ID.
For this reason, the following methods are removed from
QuerySettingsInterface
:
QuerySettingsInterface::getLanguageOverlayMode()
QuerySettingsInterface::setLanguageOverlayMode($languageOverlayMode)
QuerySettingsInterface::getLanguageUid()
QuerySettingsInterface::setLanguageUid($languageUid)
All adaptions have been made to the default implementation in
Typo3QuerySettings
, however the removed methods from the interface are kept
within the implementation to avoid fatal PHP errors.
Impact¶
Any custom implementation of QuerySettingsInterface
needs to implement
the newly defined methods of the interface.
Affected installations¶
TYPO3 installations with custom Extbase extensions dealing with QuerySettings that are adjusted with the methods used above.
Migration¶
Switch the affected extensions via PHP to calling the newly added methods, as this is how TYPO3 Core behaves the most reliable.