# bx:websearch

Dieses Tag ermöglicht die Darstellung von Suchergebnissen der Webseite. Die Suche ist über die Funktionen des Jakarta Lucene Projektes realisiert worden. Das Web muss vorher indiziert worden sein.
 Zum Ausklammern von Bereichen aus der Suche verwendet man [bx:scanner](/books/cms-handbuch-entwickler/page/bx-scanner)

## Eingabefeld

```xml
<bx:websearch.input />
```

Es wird ein Text-Inputfeld erzeugt, welches in Suchformularen verwendet werden kann. Falls schon eine Suche stattgefunden hat, enthält das Feld den Suchtext.

## Hauptschleife

```xml
<bx:websearch [max="{n}"] [maxparam="{paramname}"] [indexparam="index"]> Inhalt </bx:websearch>
```

Dieses Tag bildet die Hauptschleife um die Suchergebnisse.
Zur Verwendung im Inhalt stehen die nun folgenden Tags bereit.

Bisher mußte der Blätterparameter „index“ heißen. Und bei den Containerfiltern (Teasern) in der Seite mußte man indexparam auf etwas anderes setzen. Nun kann der Parametername selbst definiert werden.
`<bx:websearch.previous|next|firstshown|lastshown>` lesen den neuen Parameter von der `<bx:websearch>`-Schleife und verlinken jetzt mit diesen Namen.

| max | maximale Anzahl an Ausgaben |
| --- | --- |
| maxparam | Request-Parameter, der den Zahlenwert für den Überlauf enthält<br>* (ab Version 2.5.9)* |
| indexparam | Name des Blätterparameters |

## websearch.title

```xml
<bx:websearch.title/>
```

gibt den Titel der Seite (`<title>` HTML-Tag) oder, falls dieser nicht existiert, "`<ohne Titel>`" aus

## websearch.rank

```xml
<bx:websearch.rank/>
```

Rangfolge des Ergebnisses, beginnend mit 1


## websearch.score

```xml
<bx:websearch.score/>
```

die Wertung des Suchergebnisses als Gleitkommazahl

## websearch.relevanz

```xml
<bx:websearch.relevanz/>
```

eine Wertung des Ergebnisses als Ganzzahl mit Prozentzeichen

## websearch.stars

```xml
<bx:websearch.stars [max="<n>"]> Inhalt </bx:websearch.stars>
```

Symbole als Relevanzanzeige ausgeben

| max | maximale Anzahl an Symbolen (Standard: 5)<br>Der Inhalt bestimmt das Symbol, er kann z.B. ein<br><a href="http://wiki.batix.net/index.php/Bx:bild" target="_blank">bx:bild</a><br>-Tag enthalten |
| --- | --- |

## websearch.link

```xml
<bx:websearch.link> Inhalt </bx:websearch.link>
<bx:websearch.link />
```

verlinkt den Inhalt mit der Fundstelle. Als geschlossenes Tag wird die URL verlinkt *(ab Version 2.5.9)*

## websearch.url

```xml
<bx:websearch.url/>
```

gibt die URL der Fundstelle an. *ab Version 2.5.8*

## websearch.path

```xml
<bx:websearch.path/>
```

gibt den Pfad zur Fundstelle an. Es handelt sich um die URL, deren Hostname abgeschnitten wurde. *ab Version 2.5.9*

## websearch.description

```xml
<bx:websearch.description/>
```

die Beschreibung des Dokuments (HTML `<meta>` Wert "description")


## websearch.navname

```xml
<bx:websearch.navname/>
```

der Name des entsprechenden Navigationspunktes

## websearch.navid

```xml
<bx:websearch.navid/>
```

die ID des entsprechenden Navigationspunktes

## websearch.previous

```xml
<bx:websearch.previous [hide] [url="{link}"] />
<bx:websearch.previous [hide] [url="{link}"]> Linktext </bx:websearch.previous>
```

(steht außerhalb der Schleife) einen Link zur vorigen Ergebnisseite generieren

| hide | es wird nichts ausgegeben wird, wenn es keine nächste Seite gibt |
| --- | --- |
| url | Ziel-Dateiname festlegen (Standard ist die aktuelle Seite) |
| Linktext | Ein Linktext kann als Tag-Inhalt angegeben werden (Standard: "weiter >>"). |

## websearch.next

```xml
<bx:websearch.next [hide] [url="{link}"] />
<bx:websearch.next [hide] [url="{link}"]> Linktext </bx:websearch.next>
```

(steht außerhalb der Schleife) einen Link zur nächsten Ergebnisseite generieren
**Parameter: siehe unter websearch.previous**

## websearch.totalhits

```xml
<bx:websearch.totalhits/>
```

(steht außerhalb der Schleife) Gesamtzahl der Ergebnisse

## websearch.firstshown

```xml
<bx:websearch.firstshown/>
```

(steht außerhalb der Schleife) Nummer des ersten Ergebnisses auf der Seite

## websearch.lastshown

```xml
<bx:websearch.lastshown/>
```

(steht außerhalb der Schleife) Nummer des letzten Ergebnisses auf der Seite

## websearch.query

```xml
<bx:websearch.query encode="typ"/>
```

(steht außerhalb der Schleife) der Begriff/Text, nach dem gesucht wurde

| encode | Hiermit kann der ausgegebene Text für verschiedene Formate kodiert werden:<br>- html - javascript - sql (zur Verwendung in SQL für Strings) - sql-like (zur Verwendung in SQL mit LIKE) - sql-rlike (zur Verwendung in SQL mit RLIKE und REGEXP) - url - xml |
| --- | --- |

## websearch.if

```xml
<bx:websearch.if [not] [empty | scrollable | morethan="<n>" | lessthan="<n>"] > Inhalt </bx:websearch.if>
```

(steht außerhalb der Schleife) zeigt Inhalt nur unter bestimmten Bedingungen an. Nur, wenn Suche bereits stattgefunden hat:
(Falls keiner der vier Parameter angegeben wurde, erfolgt die Ausgabe nur, wenn bereits eine Suche erfolgt ist (oder auch nich, bei `not`). )

| empty | es wurden keine Suchergebnisse gefunden<br>darf auch innerhalb der Schleife verwendet werden. Um das Gegenteil abzufragen, wird<br>`not`<br>verwendet. |
| --- | --- |
| scrollable | es sind mehr Seiten vorhanden (Anzahl Ergebnisse ><br>`max`<br>) |
| morethan<br>lessthan | es wurden mehr als<br>`<n>`<br>Ergebnisse gefunden<br>es wurden weniger als<br>`<n>`<br>Ergebnisse gefunden |

## Eingabefeld

```xml
<bx:websearch.input />
```

Es wird ein Text-Inputfeld erzeugt, welches in Suchformularen verwendet werden kann. Falls schon eine Suche stattgefunden hat, enthält das Feld den Suchtext.

### Beispiele

```xml
<bx:tag.feature param="value" />
```

Weitere Beispiele unter [Snippets/Websuche](/books/cms-handbuch-entwickler/page/websuche).