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