Ich kann den Wunsch nach einem Setting grundsätzlich nachvollziehen, sehe den Mehrwert hier aber nur bedingt. Für den Wechsel auf eine Sliding-Window-Pagination ist der Aufwand sehr gering, da lediglich ein kleines Copy-&-Paste-Snippet hinterlegt werden muss.
Das Beispiel im Changelog ist vollständig und so gestaltet, dass man das Event funktional nicht im Detail verstanden haben muss, um es einzusetzen. In der Praxis beschränkt sich der PHP-Anteil auf diesen einen Schritt; die weitere Anpassung erfolgt wie gewohnt im Fluid-Template.
Der Listener wird z. B. unter folgendem Pfad abgelegt:
EXT:sitepackage/Classes/EventListener/ModifySearchPaginationListener.php
Die Zahl 5 steht dabei für maximumNumberOfLinks und bestimmt, wie viele Seitennummern maximal in der Pagination angezeigt werden.
<?php
declare(strict_types=1);
namespace Vendor\Sitepackage\EventListener;
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Core\Pagination\SlidingWindowPagination;
use TYPO3\CMS\IndexedSearch\Event\ModifySearchResultPaginationEvent;
#[AsEventListener(identifier: 'sitepackage/modify-search-pagination')]
final readonly class ModifySearchPaginationListener
{
public function __invoke(ModifySearchResultPaginationEvent $event): void
{
$event->setPagination(
new SlidingWindowPagination($event->getPaginator(), 5)
);
}
}
Das war es dann auch schon mit PHP: Datei anlegen, Beispiel-Code einfügen und Vendorname sowie Extension-Key anpassen.
Mal sehen was die weitere Diskussion im Patch hervorbringt. Vielleicht läuft es ja bei entsprechender Mehrheit tatsächlich auf ein Setting heraus oder eine Mischung aus beiden Ansätzen.