wir haben das Problem, dass bei vielen gefundenen Ergebnissen die Suche extrem langsam wird, wenn ein Kunde relativ langsam tippt. Kann man das search delay erhöhen?
in jquery.search.js ist das so festgelegt
/**
* Time in milliseconds to wait after each key down event before
* before starting the search request.
* If a key was pressed in this time, the last request will be aborted.
*
* @type {Number}
*/
searchDelay: 250,
wie kann ich diesen Wert in meinem Theme überschreiben?
einen Override des Plugins will ich eigentlich nicht, da ich schon 2 subscribes auf Functions darin habe…
das kannst du relativ einfach in deinem Theme überschreiben.
Dazu musst du einfach nur dieses Elementin deinem Theme überschreiben und ein Attribut namens “data-searchDelay” hinzufügen.
Das könnte dann so aussehen:
Wenn du dann die Browser Dev-Konsole, und dort den “Console” / “Konsole”-Tab, öffnest, dürftest du einen Eintrag in Richtung: “Configured search-delay: 700” oder sowas sehen, sobald du dein Shop-Frontend aufrufst.
Wichtig ist eben die Zahl, die dann dort steht. Nicht vergessen das Theme neu zu kompilieren!
das ist wirklich merkwürdig.
Zu deiner Frage:
Das passiert in dieser Zeile und ist gängige Praxis in ganz Shopware.
Jedes Shopware jQuery Plugin wird auf ein Element registriert, in diesem Fall auf das Element mit dem data-Attribut „data-search“.
Wenn man nun auf dem selben Element andere data-Attribute angibt, die den Defaults des jeweiligen jQuery Plugins entsprechen, so wird dadurch die Default-Einstellung überschrieben.
Auf diesem Weg kann man eben über sein Theme die jQuery Plugins konfigurieren. Das passiert ja auch sogar hier im Standard, dort wird direkt das „activeOnStart“ überschrieben.
Eigentlich müsste man da nun genauer debuggen, um heraus zu finden, warum das bei dir nicht funktionieren will - dann würde nämlich so einiges mehr nicht funktionieren.
ich weiß dass es sonst funktioniert, an anderen Stellen benutze ich das ja sogar… zB beim Image-Slider. Es scheint nur bei diesem Wert nicht zu klappen.
Habs grad mal mit data-activeHeaderClass=„test“ versucht, und siehe da… mein Header bekommt die Klasse „test“ wenn ich die Suche öffne.
ich habe das nun mal in meinem System getestet und konnte da keine Probleme feststellen.
Da fällt mir eigentlich nurnoch ein Plugin ein, das sich dort einmischen könnte - wenn alle anderen Werte problemlos überschrieben werden können.
Bist du dir denn 100%ig sicher, dass du das Attribut an das richtige Element gehangen hast? Hast du ggf. mehrere “search” Elemente in deinem Theme?
Nicht, dass es da bspw. einen Unterschied zwischen der Mobile und der Desktop Search gibt o.Ä.
danke für den Hinweis! Da waren wirklich 2 Elemente mit data-search=“true” und ich hatte das falsche bearbeitet… ist natürlich mies, dass da 2 sind, aber das ist eine andere Geschichte… klappt jetzt!