Skripte auf allen Seiten einbinden
Fügen Sie die WebComponents-Skripte global in den<head>-Bereich ein (beispielsweise über incl_fast_includes.htm), damit die Komponenten überall verfügbar sind.
Suchformular und Eingabefeld
Das Suchformular stellt die Eingabe für den Suchbegriff bereit.Sucheingabefeld
Statt der bisherigen WEBSALE-Formular-Tags (~FORM-QuickSearch~, ~WS-Search_Input~) wird hier die passende FactFinder WebComponents-Komponente verwendet.
Da ein Suchfeld in der Regel auf allen Shop-Seiten verfügbar sein soll, empfiehlt sich die Einbindung in die incl_fast_includes.htm.
accept-charset="UTF-8" umgestellt werden, damit Sonderzeichen robuster verarbeitet werden.
Suggest unter dem Eingabefeld (optional)
Wenn der Funktionsumfang Suggest umfasst, kann danach die entsprechende Komponente direkt unterhalb des Eingabefelds eingebunden werden:Kommunikation einrichten
Integrieren Sie auf jeden Fall die FactFinder-Kommunikationskomponente (<ff-communication>). Diese sorgt für die Verbindung zur FactFinder-Instanz (Session-ID, Channel, Seitenkontext wie Kategorie/Suche).
Wichtig: Pro Seite genau eine Instanz einbinden.
FactFinder WebComponents Version beachten
Bitte die Hauptversion des Projekts (4.x vs. 5.x) prüfen und in der FactFinder-Doku die passende Integrationsvariante wählen. Bei 4.x empfiehlt FactFinder,<ff-communication> möglichst früh im <body> zu platzieren. In 5.x erfolgt die Einbindung über das bereitgestellte Bundle beziehungsweise Dist. Passen Sie die Integration entsprechend Ihrem Setup an.
Offizielle FactFinder WebComponents-Doku (Version wählen):
FactFinder WebComponents Dokumentation
Grundfunktionen für FactFinder WebComponents
ResultDispatcher & EventAggregator einbinden
Für die FactFinder WebComponents werden die beiden zentralen Ereignis-Schnittstellen ResultDispatcher und EventAggregator benötigt. Sie werden, wie in der FactFinder-Dokumentation beschrieben, initialisiert und angebunden (typischerweise nachffReady, alternativ versionsabhängig nach WebComponentsReady).
Das globale Skript wird einmal pro Seite eingebunden, auf der eine FactFinder-Suche ausgelöst werden kann, also überall dort, wo ein Suchfeld vorhanden ist bzw. eine <ff-communication> auf der Seite steht.
FactFinder WebComponents integrieren
Nach dem Grundskript können die WebComponents auf den Suchergebnisseiten (beispielsweise Kategorie und Suche) verwendet werden. Im Folgenden ein minimales Beispiel für Filter (ASN) und Ergebnisliste.Filter (ASN)
for-group muss dem Gruppennamen im FactFinder-Kanal entsprechen (Sprach-/Kanalbezeichnungen beachten).
Ergebnisse
Optionaler Fehler-Container
Produkte in der Suchergebnisliste nachladen
Die Produktergebnisse können zwar direkt über die FactFinder WebComponents gerendert werden. Für die Funktionsparität mit WEBSALE (beispielsweise Sofort-Bestellung aus der Liste, Auf-die-Merkliste-legen aus der Liste“, Variantenauswahl etc.) sowie die Datenaktualität empfiehlt sich jedoch ein Hybridansatz:- Trefferermittlung, Paging und Filter: FactFinder WebComponents
- Produktbox-Rendering: Nachladen über die WEBSALE Template Engine
- Zugriff auf alle WEBSALE-Funktionen der Produktlisten (beispielsweise Merkliste, Sofort-Bestellung etc.)
- Datenkonsistenz mit der Shop-Datenbank. Produkte, die bei FactFinder noch vorhanden sind, im Shop jedoch nicht mehr, werden beim Nachladen erkannt und der leere Produktcontainer wird entfernt (kein Layout-Sprung).
Script mit den WEBSALE AJAX-Funktionen
Platzhalter-Container auf der Ergebnis-Seite (Kategorie / Suche)
Neues Template: incl_web_components_products.htm
Dieses Template wird im Script über den Aufruf
ws_AJAXloadTemplatePOST("~WS-AJAXLoadTpl(incl_web_components_products.htm)~", …)
nachgeladen.
Es liefert für jede von FactFinder gelieferte Produkt-ID die eigentliche Produktbox zurück.
