Zum Hauptinhalt springen
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

Zwei Tags, feste Reihenfolge

Die Aufgabe ist auf zwei Tags verteilt. ~WS-ManualSearch()~ steht dabei immer vor der Klammerung. Das Tag sucht, die Klammerung zeigt an, was gefunden wurde.
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.
Alle angegebenen Kriterien müssen zutreffen. Ein Produkt erscheint also nur, wenn es allen Bedingungen genügt.

Die wichtigsten Parameter

Setzen Sie limit immer, und zwar auf denselben Wert wie das zweite Argument von CAT-AdvData(). 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.
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.
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~ 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

Alle Bedingungen müssen zutreffen

Sommerhosen, die aus Baumwolle und kurz sind:

Eine Bedingung genügt

Sommerhosen, die aus Baumwolle oder kurz sind:
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

Verwandte Themen