Zwei Ausbaustufen
Beide verwenden dieselben CSS-Klassennamen für die Zeilen, die Stylesheets sind aber nicht austauschbar. Der einfache Layer baut eine Tabelle, der erweiterte Listen in zwei Spalten.
Der einfache Suggest-Layer
ff_suggest.js
Die Datei definiert einen KonstruktorFFSuggest. Sie legen eine Instanz an und rufen init() mit acht Parametern auf.
ff_suggest.js
ff_suggest.js
Das Modul fragt FACT-Finder nicht bei jedem Tastendruck. Es vergleicht vorher mit der letzten Anfrage und überspringt Suchbegriffe über 50 Zeichen ganz.Die Antwort ist reiner Text: eine Zeile je Vorschlag, darin drei mit
### getrennte Felder in der Reihenfolge Vorschlag, Trefferzahl, Typ. Im erzeugten HTML stehen sie in der Reihenfolge Vorschlag, Typ, Trefferzahl.ff_suggest.css
ff_suggest.css
ff_suggest.css
top und left an div.suggestLayer sind auf ein bestimmtes Shopdesign gemünzt. Passen Sie sie an Ihre Kopfzeile an, oder positionieren Sie den Layer relativ zum Suchfeld.
Der erweiterte Suggest-Layer
Der erweiterte Layer teilt die Vorschläge in zwei Spalten: links Produktvorschläge mit Bild, rechts die übrigen Suchbegriffe. Er braucht jQuery, holt die Vorschläge per JSONP und reagiert auf mehr Tasten.Welche Fassung Sie brauchen
Sie unterscheiden sich zusammen in dreizehn Zeilen. Diese Seite zeigt deshalb eine Fassung und beschreibt die beiden Abweichungen.
Welche FACT-Finder-Version Sie einsetzen, klären Sie mit Omikron.
Die Abweichung für jQuery 2
jQuery 3 hat.error() entfernt. Die Vorlage verwendet deshalb .fail(). Für jQuery 2 ändern Sie diese eine Zeile am Ende von getSuggestions() zurück:
Die Abweichung für FACT-Finder 6.10
Ab 6.10 liefert FACT-Finder die Vorschläge nicht mehr als blankes Array, sondern verpackt in ein Objekt mit der Eigenschaftsuggestions.
Das geht einfacher. Ergänzen Sie in der Antwortfunktion von getSuggestions() direkt nach pCurrentSelection = -1; eine Zeile:
jsonObj in beiden FACT-Finder-Versionen das Array der Vorschläge, und der Rest der Datei bleibt unverändert.
Die Parameter von init()
init() nimmt hier vierzehn Parameter statt acht. Die ersten acht sind dieselben wie beim einfachen Layer.
sid, uid und site werden nur angehängt, wenn sie gefüllt sind. Sie landen sowohl in der Suggest-Anfrage als auch im Ziel-Link, den ein angeklickter Vorschlag ansteuert. FACT-Finder wertet sie für seine Statistik aus.
Das Übersetzungsobjekt
Anders als der einfache Layer enthält der erweiterte keine fest eingebauten Texte. Er erwartet sie im Parametertranslation:
Fehlt eine Überschrift, verwendet das Modul den technischen Typnamen.
Die Rückmeldefunktionen
Drei davon sind globale Funktionen, die Sie einfach definieren. Die vierte übergeben Sie aninit().
displayElementCallback läuft verzögert, das Modul stellt jeden Aufruf um zehn Millisekunden zurück. Verlassen Sie sich darin also nicht darauf, dass der Layer noch sichtbar ist.Mit onSubmitSuggest hängen Sie eigene Zielseiten an Vorschläge, beispielsweise um einen Kategorievorschlag direkt auf die Kategorieseite statt auf die Suche zu führen.Die Klassen, die das Modul erwartet
Das Modul setzt diese Klassen selbst in das erzeugte HTML. Ihr Stylesheet muss sie kennen.ff_big_suggest.css
ff_big_suggest.css
ff_big_suggest.css
Woher Sie ff_big_suggest.js bekommen
Die Datei selbst ist hier nicht abgedruckt. Sie ist 509 Zeilen lang und besteht fast vollständig aus Ablauflogik, die Sie unverändert übernehmen: Tastatursteuerung, Auf- und Abbau des Layers, Zusammenbau der Links. Alles, was Sie daran einstellen, steht oben auf dieser Seite.
Für die beiden Abweichungen bei jQuery 2 und FACT-Finder 6.10 ändern Sie je eine Zeile, wie oben beschrieben.
Falls Sie die Datei nicht zur Hand haben, fragen Sie bei WEBSALE nach. Weil die Direktanbindung nicht mehr weiterentwickelt wird, ändert sich an ihr nichts mehr.
Was beide Stufen gemeinsam haben
Beide erwarten ein Suchformular mit einem Namen und ein leeresdiv für den Layer. Beide hängen sich an das Eingabefeld und nicht an einen Knopf. Und beide bieten eine Funktion, mit der Sie den Layer von außen schließen können:
