Die Komponente <ws-search-result-tabs> stellt eine Tab-Navigation für Suchergebnisse aus verschiedenen Quellen (beispielsweise Produkte, Kategorien, Content) bereit. Die Tabs werden automatisch aus den eingebetteten <ws-search-result>-Instanzen generiert. Das Auswahl- und Anzeigeverhalten bei leeren Ergebnissen kann über Attribute gesteuert werden.
Voraussetzung
- Die
<ws-search-result>-Instanzen müssen als Kindelemente innerhalb von <ws-search-result-tabs> liegen.
- JavaScript-Bundle
ws-search-component-<Versionsnummer>.js ab Version 1.9.1
Komponente
- Attribute
container-class: CSS-Klassen für den Tab-Button-Container.
btn-class: CSS-Klassen für die Tab-Buttons.
content-class: CSS-Klassen für den Tab-Content-Container.
pane-class: CSS-Klassen für die einzelnen Tab-Panes.
default-tab: Bestimmt, welcher Tab nach einer Suche geöffnet wird:
sticky: Der zuletzt geöffnete Tab. (Default)
first: Immer der erste Tab.
<source>: Eine Source oder komma-separierte Source-Liste, z.B. default-tab="product" oder default-tab="product,content". Bei mehreren Sources wird der erste Tab mit Ergebnissen gewählt.
on-empty: Steuert das Auswahlverhalten, wenn der über default-tab gewählte Tab leer ist:
skip: Springt zum ersten Tab mit Ergebnissen. (Default)
show: Der gewählte Tab bleibt aktiv, auch wenn er leer ist.
empty-tab: Bestimmt, was mit leeren Tabs passiert:
disabled: Tabs bleiben sichtbar, sind aber nicht mehr auswählbar (inaktiv). (Default)
enabled: Tabs bleiben sichtbar und sind weiterhin auswählbar.
hidden: Tabs werden ausgeblendet.
Attribut tab an ws-search-result
Ohne weitere Angabe bildet jede Instanz von <ws-search-result> einen eigenen Tab. Der Tab-Name entspricht dabei der Quelle ( source). Über das Attribut tab an <ws-search-result> können mehrere Instanzen in einem gemeinsamen Tab gebündelt werden. Im obigen Beispiel werden content_static und content_blog zum Tab content zusammengefasst.
Tab-Templates
Für jeden Tab kann ein <template slot="tab-<tabname>"> definiert werden:
<div slot="label">: Pflicht. Inhalt des Tab-Buttons. Für dynamische Trefferzahlen im Label kann ws-search-info verwendet werden.
<div slot="content">: Optional. Zusätzlicher Inhalt innerhalb des Tabs, beispielsweise Filter- oder Sortier-Elemente, die nur in diesem Tab angezeigt werden sollen.
Verhalten
- Die Tabs werden automatisch aus den
<ws-search-result>-Kindelementen generiert.
- In den Tab-Labels kann
ws-search-info für dynamische Trefferanzahlen verwendet werden; die Anzeige aktualisiert sich bei neuen Suchergebnissen automatisch.
ws-search-result-tabs ist ab ws-search-component-1.9.1.js verfügbar und ersetzt selbstgebaute Tab-Navigationen (z.B. über Buttons mit hide-with bzw. visibility und total-container-Labels).