Suchfeld

Wie man ein Suchfeld auf einer Typo3-Site einfügt, wird hier beschrieben.

1. Extension installieren

Die Extension IndexedSearchEngine (indexed_search) ist bereits in der Typo3-Standardinstallation dabei, aber noch nicht installiert. Im „Erweiterungs-Manager“ also auf „Install Extensions“ gehen und diese (mit allen Abhängigkeiten) installieren.

2. Cache einschalten

Im Root-Template darf der Cache nicht ausgeschalten sein, andernfalls indiziert die Extension nichts

3. Indizierung anwerfen

Dies funktioniert mit folgender Zeile im Root-Template-Setup:

page.config.index_enable = 1

4. In TemplaVoila das DIV, das das Suchfeld beinhalten soll, mappen

Gemapped wird als TypoScript Object Path, z. B. lib.search

5. Eine Suchergebnisseite erstellen

Dazu eine neue Seite anlegen und das PlugIn indexed_search einfügen

6. Einstellungen

Folgenden Code ins Root-Template-Setup einfügen und anpassen

#plugin.tx_indexedsearch.templateFile = fileadmin/extensions/indexedsearch.htm
plugin.tx_indexedsearch.show.rules = 0
plugin.tx_indexedsearch.show.parsetimes = 1
plugin.tx_indexedsearch.show.L2sections = 0
plugin.tx_indexedsearch.show.L1sections = 1
plugin.tx_indexedsearch.show.LxALLtypes = 0
plugin.tx_indexedsearch.show.clearSearchBox = 0
plugin.tx_indexedsearch.show.clearSearchBox.enableSubSearchCheckBox = 0
plugin.tx_indexedsearch.show.forbiddenRecords = 0
plugin.tx_indexedsearch.show.alwaysShowPageLinks = 0
plugin.tx_indexedsearch.show.advancedSearchLink = 0
plugin.tx_indexedsearch.show.resultNumber = 1
plugin.tx_indexedsearch.show.mediaList =


lib.search = TEXT
lib.search.value (
<form action="index.php?id=32" method="post">
	<input id="search_query" name="tx_indexedsearchsword" type="text" />
	<input name="tx_indexedsearchtype" value="1" type="hidden" /> 
	<input type="submit" name="btnSuche" id="btnSuche" value=">>" />
</form>
)

7. Sprache umstellen

  • Modul: Ext Manager
  • Menu: Translation handling (ganz oben das Select-Menü)
  • Sprache auswählen (eine oder mehrere)
  • checken und updaten

Falls es noch immer „Search“ anstatt „Suche“ heißt, folgende Sprachumstellung im Template-Setup einfügen:

#Sprachkonfiguration
config.linkVars = L
config.uniqueLinkVars = 1
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE.UTF8
config.htmlTag_langKey = de-DE

8. Anpassen des Layouts

Die Dateien zum Konfigurieren der Darstellung liegen in typo3/sysext/indexed_search und …/pi.
So z. B. die locallang.xml für die Spracheinstellungen.

Einfach die beiden Template-Dateien in ein eigenes Verzeichnis kopieren, ändern und wie folgt umstellen:

plugin.tx_indexedsearch.templateFile=...

9. Suchregeln ändern

Unter dem Suchfeld werden Regeln angezeigt. Wer damit nicht zufrieden ist, kann sie über TS ändern:

## SUCH-EINSTELLUNGEN
## ----------------------------------------------------------------
plugin.tx_indexedsearch{
_LOCAL_LANG.de.rules_header = Suchtipps
_LOCAL_LANG.de.rules_text (
   Nur Wörter mit 2 oder mehr Zeichen werden akzeptiert.
   Maximal 200 Zeichen insgesamt.
   Leerzeichen werden zur Trennung von Worten verwendet, "" kann für die Suche nach ganzen Zeichenfolgen benutzt werden.
   Mögliche Funktionswörter: UND, ODER und NICHT
   Alle Suchwörter werden zu Kleinschreibung konvertiert.
)
}

10. Probleme mit Umlauten

In einigen Versionen kommt es vor, dass Suchbegriffe, die Umlaute beinhalten, nicht richtig gesucht werden.

Grundsätzlich sollte man zuerst prüfen, ob im TS-Setup die korrekte Sprache eingestellt ist!
Falls das Problem dann noch immer auftritt:

In diesem Fall half folgende Lösung:

In der class.tx_indexedsearch.php (zu finden unter typo3/sysext/indexed_search/pi), in etwas bei Zeile 430, direkt nach:.

$inSW = substr($this->piVars['sword'],0,200);

die folgende Zeile einfügen:

$inSW = htmlentities($inSW,ENT_NOQUOTES);

Danach Cache löschen und es sollte wieder funktionieren.

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne

Loading…
Avatar von manuel

AUTOR

manuel