Suche reagiert zu schnell, searchDelay erhöhen? Wie?

Hallo,

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…

Moin @FloC3‍,

das kannst du relativ einfach in deinem Theme überschreiben.
Dazu musst du einfach nur dieses Element in deinem Theme  überschreiben und ein Attribut namens “data-searchDelay” hinzufügen.
Das könnte dann so aussehen:

Hilft dir das weiter?

Gruß,
Patrick  Shopware

Hallo Patrick, danke für deinen Tipp.

leider funktioniert das nicht [@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl “Patrick Stahl”)‍

es steht im Quelltext

wird aber ignoriert… liegt es daran, dass aus searchDelay automatisch searchdelay wurde?

habe Themes neu kompiliert, Shopcache gelöscht und Browsercache auch.

ich finde im Code auch nirgends eine Stelle, wo ein data-searchDelay ausgelesen wird und in die opts des Plugins swSearch geschrieben wird…

Moin @FloC3‍,

das müsste definitiv funktionieren.

Kannst du  vor  dieser Zeile einmal den folgenden Code einfügen?

console.log('Configured search-delay:', opts.searchDelay);

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!

Gruß,
Patrick  Shopware

diese Zeile ist im Event KeyUp und nicht beim Seitenload.

ich habe es eingebaut und es gibt 250 aus.

aber nochmal die Frage: wie sollte mein data-attribut denn in diese Variable wandern? Finde nirgends Code der das tut.

Moin @FloC3‍,

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.

Gruß,
Patrick  Shopware

Hallo [@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl „Patrick Stahl“)‍,  

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.

Wieso klappt das mit diesem blöden Delay nicht…

Moin @FloC3‍,

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.Ä.

Lieben Gruß
Patrick Stahl  Shopware

[@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl “Patrick Stahl”)‍ 

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!

hast du zu https://forum.shopware.com/discussion/62544/produktsuche-finden-von-artikeln-mit-bestand-0-productnumberservice-ueberschreiben-hook#latest evtl auch noch eine Antwort? Wär super

 

viele Grüße

1 „Gefällt mir“