04.01.2012: Backend Suche überarbeitet in TYPO3 4.6

Mit TYPO3 4.6 wurde auch die Backend Suche überarbeitet. Größtes Problem dabei ist, dass Extensions nicht mehr durchsuchbar sind. Dmitry Dulepov erklärt in einem Blog-Post wie die Suche wieder zum laufen gebracht werden kann.

In seinem Beitrag sagt Dulepov warum die Suchfunktion im Backend geändert wurde:

  • Alle numerischen Felder wurden zu einer Liste von Feldern zusammengeführt
  • Diese Liste wurde dann mit einer %LIKE%-Suche durchsucht
  • Maximal 4 Ebenen konnten durchsucht werden

Problem dabei natürlich ist, dass alle Felder durchsucht werden und das ganze ziemlich ressourcenintensiv und langsam ist.

Deswegen wurde die Suchfunktion überarbeitet:

  • Nur definierte Felder werden durchsucht
  • Numerische Felder werden nur durchsucht, wenn das Suchwort numerisch ist
  • Es werden nun alle Ebenen durchsucht, außer es ist eingestellt "Nur diese Seite"

Dadurch ist die Suche natürlich wesentlich schneller, weil weniger SQL queries durchgeführt werden. Zusätzlich gibt es weniger LIKE queries.

Der Haken der Sache ist natürlich, dass nun nur noch definierte Felder durchsucht werden. In den meisten Extensions sind diese Felder aber nicht definiert, also wird auch im Backend nichts mehr gefunden.

Lösung:

Wer schnell und einfach die alte Suchfunktion wieder haben möchte, der kann sich die Extension "Compatible Backend search" (extension key: compat_besearch) installieren. nach der Installation funktioniert die Scuhe wie gewohnt. Allerdings wird die Extension nur in TYPO3 4.6 funktionieren, denn ab 4.7 funktioniert dies nicht mehr.

Für Extension Entwickler:

Extension Entwickler haben keinen großen Aufwand, um Ihre Extension für die neue Suche zu ändern. Es muss lediglich eine Zeile in die Datei tca.php eingefügt werden.

tt_news:

$GLOBALS['TCA']['tt_news']['ctrl']['searchFields'] = 'title,abstract,bodytext,keywords';

sb_downloader:

$GLOBALS['TCA']['tx_sbdownloader_images']['ctrl']['searchFields'] = 'name,description,longdescription,linkdescription';

Nach löschen des Caches kann wieder fröhlich gesucht werden.

Zum Originalbeitrag von Dmitry Dulepov


Kommentare

No comments