> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Ausgewählte Suchergebnisse anzeigen

> Wie Sie mit WS-ManualSearch und CAT-AdvData eine fest konfigurierte Suche auslösen und deren Treffer an beliebiger Stelle im Template ausgeben.

Manchmal soll eine Produktliste nicht vom Käufer zusammengesucht, sondern von Ihnen vorgegeben werden. Etwa eine TopSeller-Box auf der Startseite oder ein Themenblock auf einer Kategorieseite.

Dafür lösen Sie eine Suche mit fest hinterlegten Kriterien aus und geben deren Treffer an der gewünschten Stelle aus. Der Vorteil gegenüber einer von Hand gepflegten Liste: Die Auswahl bleibt aktuell. Kommen passende Produkte hinzu oder fallen welche weg, ändert sich die Anzeige beim nächsten Seitenaufruf mit, ohne dass Sie das Template anfassen.

![20200110 Topseller](https://mintcdn.com/websaleag-44ee7ea6/98HtpcQDYdzjmpoC/images/20200110_topseller.png?fit=max\&auto=format\&n=98HtpcQDYdzjmpoC\&q=85\&s=6202568a083bf611fab19152da64afc8)

## Zwei Tags, feste Reihenfolge

Die Aufgabe ist auf zwei Tags verteilt.

| Tag | Aufgabe |
| - | - |
| [`~WS-ManualSearch()~`](https://dokumentation.websale.de/v8s/referenz/tags/ws/suche-listen-und-blaettern#die-tags-im-uberblick) | löst die Suche aus |
| `{CAT-AdvData($ManualSearch,n)}` | gibt die Treffer aus |

`~WS-ManualSearch()~` steht dabei immer **vor** der Klammerung. Das Tag sucht, die Klammerung zeigt an, was gefunden wurde.

> [!WARNING]
>
> Je Template ist nur eine manuelle Suche möglich. Ein zweites `~WS-ManualSearch()~` bleibt wirkungslos: Der Shop merkt sich, dass die Suche bereits gelaufen ist, und überspringt das Tag stillschweigend. Die zweite Ergebnisliste zeigt dann die Treffer der ersten Suche.

## Aufbau des Suchtags

Die Suchkriterien stehen als kommaseparierte Paare aus Name und Wert in der Klammer.

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~WS-ManualSearch(search_input=rote Hose,top_cat_index=$CAT-Index$,price_from=17.00,limit=5)~
```

Alle angegebenen Kriterien müssen zutreffen. Ein Produkt erscheint also nur, wenn es allen Bedingungen genügt.

### Die wichtigsten Parameter

| Parameter | Bedeutung |
| - | - |
| `search_input` | Suchbegriff, mehrere Wörter durch Leerzeichen getrennt |
| `limit` | Anzahl der zu ermittelnden Treffer |
| `price_from`, `price_until` | Preisgrenzen |
| `top_cat_index` | Beschränkung auf eine Hauptkategorie |
| `search_cat_index` | Beschränkung auf eine bestimmte Kategorie |
| `product_item` | Suchbereich, beispielsweise `name` oder `number` |
| `sort_field`, `sort_direction` | Sortierung der Treffer, Richtung `asc` oder `desc` |
| `or_search_active` | `yes` verknüpft die freien Produktdatenfelder mit ODER |
| `<freier Feldname>` | Wert, den das Produkt in diesem Feld tragen muss |

Setzen Sie `limit` immer, und zwar auf denselben Wert wie das zweite Argument von [`CAT-AdvData()`](https://dokumentation.websale.de/v8s/referenz/tags/cat/navigation-und-kategoriebaum#die-tags-im-uberblick). Ohne `limit` sammelt die Suche bis zur systemseitigen Obergrenze ein, obwohl Sie nur wenige Treffer anzeigen. Das kostet unnötig Rechenzeit auf jeder Seite, auf der das Tag steht.

> [!WARNING]
>
> Bindestriche im Suchbegriff werden zu Leerzeichen. Aus `search_input=T-Shirt` wird die Suche nach den zwei Wörtern `T` und `Shirt`. Bei Produktnamen mit Bindestrich führt das zu anderen Treffern als erwartet.

Beide Tags unterstützen Tag-in-Tag. Im Beispiel oben liefert `$CAT-Index$` den Index der aktuell aufgerufenen Kategorie, die Suche passt sich also der Seite an, auf der sie steht.

## Vollständiges Beispiel

Auf der Produktübersichtsseite `ws_category.htm` sollen fünf rote Hosen ab 17,00 Euro aus der aktuellen Kategorie erscheinen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~WS-ManualSearch(search_input=rote Hose,top_cat_index=$CAT-Index$,price_from=17.00,limit=5)~

{CAT-AdvData($ManualSearch,5)}
   Unsere TopSeller (~WS-ManualSearchResults~ Produkte)
   {@PR-Data}
      ~PR-Name~
   {/@PR-Data}
{/CAT-AdvData($ManualSearch,5)}
```

Die Überschrift steht innerhalb der Klammerung. Findet die Suche nichts, entfällt damit der gesamte Block, statt eine leere TopSeller-Box zu hinterlassen.

[`~WS-ManualSearchResults~`](https://dokumentation.websale.de/v8s/referenz/tags/ws/suche-listen-und-blaettern#die-tags-im-uberblick) gibt die Anzahl der gefundenen Produkte aus. Das Tag lässt sich auch als Klammerung verwenden, um einen Bereich nur bei mindestens einem Treffer anzuzeigen.

## Nach eigenen Produktdatenfeldern filtern

Neben den Standardfeldern lässt sich auch nach freien Produktdatenfeldern filtern, beispielsweise nach Material oder Länge. Verwendet wird dafür der Name, unter dem das Feld in der `shop.config` als Suchfeld eingetragen ist.

Wegweiser: [Erweiterte Suche](https://dokumentation.websale.de/v8s/suche/erweiterte-suche.md)

### Alle Bedingungen müssen zutreffen

Sommerhosen, die aus Baumwolle **und** kurz sind:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~WS-ManualSearch(search_input=Sommerhose,material=baumwolle,laenge=kurz,limit=5)~
```

### Eine Bedingung genügt

Sommerhosen, die aus Baumwolle **oder** kurz sind:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~WS-ManualSearch(search_input=Sommerhose,material=baumwolle,laenge=kurz,or_search_active=yes,limit=5)~
```

`or_search_active=yes` bezieht sich auf die freien Produktdatenfelder. Der Suchbegriff aus `search_input` bleibt Bedingung.

Die ODER-Verknüpfung lohnt sich für weiche Kriterien, bei denen eine Eigenschaft schon ausreicht, um das Produkt interessant zu machen. Für eine Liste, die genau eine Produktart treffen soll, ist die UND-Verknüpfung die richtige.

Referenz: PR-Tags für freie Produktdatenfelder

Referenz: [Abschnitt ProductItemSearch](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/produkte-katalog-und-suche.md#productitemsearch)

## Verwandte Themen

* Wegweiser: [Erweiterte Suche, für die Einrichtung der Suchfelder in der `shop.config`](https://dokumentation.websale.de/v8s/suche/erweiterte-suche)
* Wegweiser: [Suchergebnisse, für die reguläre Trefferliste](https://dokumentation.websale.de/v8s/suche/suchergebnisse.md)
* Wegweiser: [Mehrverkauf, für die übrigen Sonderlisten von `CAT-AdvData()`](https://dokumentation.websale.de/v8s/marketing-produkte/mehrverkauf)


## Related topics

- [Suchergebnisse](https://dokumentation.websale.de/v8s/suche/suchergebnisse.md)
- [Produkt mit bestimmter Variantenkombination anzeigen](https://dokumentation.websale.de/v8s/abhaengige-varianten/produkt-mit-bestimmter-variantenkombination-anzeigen.md)
- [Lagerbestand anzeigen](https://dokumentation.websale.de/v8s/lagerbestand/lagerbestand-anzeigen.md)
- [Externe Verlinkungen](https://dokumentation.websale.de/v8s/domains/externe-verlinkungen.md)
- [Strukturierte Daten und Rich Snippets](https://dokumentation.websale.de/v8s/seo/strukturierte-daten-rich-snippets.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.