ws_search.htm.

Schritt 1: Funktion freischalten lassen
Die abhängige Suche ist nicht im Standardumfang enthalten. Wenden Sie sich für die Freischaltung an Ihren WEBSALE-Ansprechpartner.Schritt 2: Produktdatenfelder vorbereiten
Die abhängige Suche arbeitet ausschließlich mit freien Produktdatenfeldern. Die festen Felder wie Produktname oder Produktnummer stehen dafür nicht zur Verfügung. Im WSPManager legen Sie je freiem Feld zwei Dinge fest:- ob das Feld Teil der abhängigen Suche wird
- wie die Werte in der Auswahlliste sortiert werden
10 vor 9, numerisch sortiert steht 9 davor. Für Größen, Längen oder Stückzahlen ist die numerische Sortierung deshalb die richtige.
Zusätzlich zu den Produktdaten selbst braucht der Shop die Liste der tatsächlich vorkommenden Kombinationen. Genau daraus ergibt sich, welche Werte nach einer Auswahl noch übrig bleiben. Geliefert wird sie über die Datei depsearchcomplete.csv.
Wie Sie die Felder in Ihrem Warenwirtschaftssystem befüllen, hängt vom eingesetzten System ab. Wenden Sie sich dafür an dessen Hersteller.
Schritt 3: Felder in der shop.config benennen
Jedes für die abhängige Suche aktivierte Feld braucht im Abschnitt<ProductItemSearch> zwei Einträge: den technischen Namen und die Beschriftung.
Zwei Einstellungen für den Ablauf
KeepSearchInput hält die getroffene Auswahl fest, bis der Käufer sie ändert oder zurücksetzt. Das passt zum Produktfinder, denn wer sein Gerätemodell einmal gewählt hat, will es beim nächsten Blick in den Shop nicht erneut heraussuchen.
DirectDepSearch-Allow löst die Produktsuche unmittelbar aus, sobald eine Auswahl getroffen wurde. Der Käufer sieht damit schon während des Eingrenzens, wie die Trefferliste schrumpft, statt am Ende auf eine Schaltfläche klicken zu müssen.
Referenz: Abschnitt ProductItemSearch
Schritt 4: Auswahllisten ins Template einbauen
Je Feld erzeugt ein~WS-FreeFieldList()~ die fertige Auswahlliste.
Die beiden Argumente des Tags
Das erste Argument ist der technische Feldname aus Schritt 3. Groß- und Kleinschreibung spielt dabei keine Rolle. Das zweite Argument ist der Text des ersten Listeneintrags, also der Aufforderung vor der eigentlichen Auswahl. Es ist keine Überschrift und keine Beschriftung neben der Liste. Ein Text wieHersteller liest sich an dieser Stelle als Platzhalter, Hersteller wählen ist meist deutlicher.
Gibt es für ein Feld keine Werte, gibt das Tag gar nichts aus, auch keine leere Liste. Umschließende Beschriftungen oder Rahmen bleiben dann allerdings stehen. Verwenden Sie das Tag als Klammerung, wenn diese mitverschwinden sollen.
Zurücksetzen
Gerade beim Produktfinder ist die Schaltfläche zum Zurücksetzen wichtiger als bei anderen Filtern. Wer sich verwählt hat, kommt sonst schwer wieder heraus, weil die übrigen Listen bereits eingeschränkt sind.Schritt 5: Suchergebnisseite unterscheiden (optional)
Die Treffer der abhängigen Suche landen auf derselben Seite wie die Treffer der gewöhnlichen Suche. Wollen Sie beide unterschiedlich gestalten, braucht die Seite ein Erkennungsmerkmal. Geben Sie dafür im Formular einen freien Parameter mit. Auf der Suchergebnisseite lässt sich dann abfragen, ob er gesetzt ist.Mehrere Formulare auf einer Seite
Sobald neben dem Produktfinder ein zweites Formular auf der Seite steht, beispielsweise für die Anzahl der Produkte pro Seite, geht die getroffene Auswahl beim Absenden dieses zweiten Formulars verloren. Es überträgt schlicht nicht, was im ersten steht. Die Lösung ist, dieselben Werte im zweiten Formular versteckt mitzuschicken. Dafür nimmt~WS-FreeFieldList()~ als zweites Argument das Schlüsselwort hidden. Statt einer Auswahlliste entsteht dann ein verstecktes Feld mit dem aktuell gewählten Wert.
Wie die Einschränkung zustande kommt
Der Shop führt die gepflegten Kombinationen in einer eigenen Tabelle. Für jede Auswahlliste fragt er daraus die noch möglichen Werte ab und berücksichtigt dabei alles, was der Käufer in den anderen Listen bereits gewählt hat. Daraus folgen zwei Dinge für die Praxis:- Die Auswahllisten sind nur so vollständig wie die gelieferten Kombinationen. Fehlt eine Kombination in
depsearchcomplete.csv, ist das zugehörige Produkt über den Produktfinder nicht erreichbar, auch wenn es im Shop existiert. - Je Liste werden höchstens 1000 Werte ausgegeben. Für Felder mit sehr vielen verschiedenen Werten ist die abhängige Suche deshalb nicht das passende Mittel.
shop.config eingetragen, aber im WSPManager nicht für die abhängige Suche aktiviert, erzeugt ~WS-FreeFieldList()~ trotzdem eine Auswahlliste. Diese enthält dann alle vorkommenden Werte des Feldes und schränkt die übrigen Listen nicht ein.
Verwandte Themen
- Wegweiser: Erweiterte Suche, für Filter ohne gegenseitige Einschränkung
- Wegweiser: Suchergebnisse, für die Trefferliste
- Wegweiser: Anzahl der Produkte pro Seite
- Wegweiser: Sortieren von Produktlisten
- Wegweiser: Blättern in Produktlisten
