ModifyQueryForLiveSearchEvent
New in version 12.0
The PSR-14 event
\TYPO3\
can be used to modify the live search queries in the backend.
This can be used to adjust the limit for a specific table or to change the result order.
This event is fired in the
\TYPO3\
class
and allows extensions to modify the query builder
instance before execution.
Example
Registration of the event listener in the extension's Services.
:
services:
# Place here the default dependency injection configuration
MyVendor\MyExtension\Backend\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/modify-query-for-live-search-event-listener'
Read how to configure dependency injection in extensions.
The corresponding event listener class:
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Backend\EventListener;
use TYPO3\CMS\Backend\Search\Event\ModifyQueryForLiveSearchEvent;
final class MyEventListener
{
public function __invoke(ModifyQueryForLiveSearchEvent $event): void
{
// Get the current instance
$queryBuilder = $event->getQueryBuilder();
// Change limit depending on the table
if ($event->getTableName() === 'pages') {
$queryBuilder->setMaxResults(2);
}
// Reset the orderBy part
$queryBuilder->resetQueryPart('orderBy');
}
}