<ws-suggest> dient zur Anzeige von Suchvorschlägen innerhalb einer Suchbox. Die einzelnen Vorschläge werden als Liste dargestellt und können per Mausklick oder über die Tastatur (Pfeiltasten zur Navigation, Enter zur Auswahl) ausgewählt werden.
Optional kann am Ende der Liste ein zusätzliches „Alle Ergebnisse anzeigen”-Element eingeblendet werden, das wie ein regulärer Vorschlag behandelt wird. Bei Auswahl wird eine Suche mit dem aktuellen Suchbegriff ausgelöst. Der Platzhalter {%query%} in show-all-message wird dabei dynamisch durch den eingegebenen Suchbegriff ersetzt.
Komponente
Die Komponente kann innerhalb von<ws-search-box> integriert werden, um die Anzeige der Suggestbox zu steuern:
- Attribute
suggest-container-class- Angabe von CSS-Klasse(n) für den Container der Suggestboxsuggest-item-class- Angabe von CSS-Klasse(n) für die Suggest-Itemsuse-show-alltrue/yes- Aktiviert das zusätzliche „Show-All”-Element (Alle Ergebnisse anzeigen) am Ende der Vorschlagsliste
show-all-class- Angabe von CSS-Klasse(n) für das „Show-All”-Elementshow-all-message- Anzeigetext für das „Show-All”-Element. Im Anzeigetext kann{%query%}durch den aktuellen Suchbegriff ersetzt werden. Default:Alle Ergebnisse anzeigen für: '{%query%}'.
Die Attribute
use-show-all, show-all-class und show-all-message sind nur im einfachen Modus (ohne <ws-suggest-result>) relevant. Im Orchestrator Mode wird show-all über ein <ws-suggest-result source="show-all">-Element konfiguriert.Orchestrator Mode
Sobald<ws-suggest> mindestens ein <ws-suggest-result>-Kindelement enthält, aktiviert sich automatisch der Orchestrator Mode. In diesem Modus übernimmt <ws-suggest-result> die Steuerung der Darstellung je Ergebnistyp (z.B. Suchvorschläge, Produkte, Kategorien).
Weitere Details zur Konfiguration von <ws-suggest-result> sind hier beschrieben.
suggest-container
Das Attributsuggest-container kann auf beliebigen HTML-Elementen gesetzt werden. Dadurch wird dieses Element (inklusive aller Kindelemente) zusammen mit dem zugehörigen <ws-suggest-result> aus- und eingeblendet - z.B. um Abschnittsüberschriften gemeinsam mit dem Ergebnisbereich zu verstecken, weil keine Ergebnisse vorhanden sind.
Beispiel
Mustache-Delimiter in Templates
Da die VX-Template-Engine{{ }} als Delimiter verwendet, was zu Konflikten mit dem Mustache-Rendering der Komponenten führt, werden in allen Webcomponent-Templates abweichende Delimiter verwendet:
Webcomponents (ws-suggest, ws-suggest-result, …)verwendet{% %}VX-Template-Engineverwendet{{ }}
Styling per CSS
Werden keine eigenen CSS-Klassen über die Komponente angegeben, setzt die Suche Standardklassen:suggestionssuggestion-itemshow-all-item
