Breaking: #98490 - Various hooks and methods changed in DatabaseRecordList

See forge#98490


The following hooks have been removed

  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/']['getTable']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['modifyQuery']
  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['makeSearchStringConstraints']

They were mainly used within the list module / record listing or the Element Browser to modify the database query altering the result set of records rendered.

Along with the hooks, various method signatures within DatabaseRecordList have been changed.

  • DatabaseRecordList->getQueryBuilder() has the arguments $pageId and $additionalConstraints removed
  • DatabaseRecordList->getTable() only uses one argument now
  • DatabaseRecordList->makeSearchString() is now marked as protected


Extensions adding implementations for these hooks have no effect anymore.

Extensions making use of calling the PHP methods directly will result in a fatal PHP error.

Affected installations

TYPO3 installations with third-party extensions modifying the record list via the hooks above.


Use the new PSR-14 event ModifyDatabaseQueryForRecordListingEvent which serves at the very end to alter the actual QueryBuilder object to modify the database query before it is executed.