Neu Anzahl der Suchvorschläge

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Guten Morgen,

in welcher Datei kann ich denn eine Änderung vornehmen, damit dem Kunden nicht nur 5 Suchvorschläge angezeigt werden, wenn er etwas in der Suche eingibt?
Ich hätte da doch gerne mal mindestens 10 Vorschläge. Das einstellen der Anzahl über das Backend scheint nicht möglich zu sein, ausser ich hätte es trotz ewig langer Sucherei übersehen.

Danke und Gruß
Matthias
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.401
1.325
JTL Shopadmin:
rechts bei der Lupe (Suche) gib ein: 277

Maximale Treffer pro Suche: xx
 

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Eine Änderung dieses Zahlenwerts hat leider keinen Einfluss auf mein Problem.
Ich hätte auch gedacht, dass das die richtige Einstellung ist, aber entweder funktioniert sie nicht richtig oder sie ist doch für etwas anderes zuständig.
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.401
1.325
Hm, verstehe - verwende es nicht, daher hier an den Einstellungen nie was verändert.

Würd da eher ein Support-Ticket aufmachen,w enn es dir wichtig ist.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Hallo,
verwendest du die Standardsuche oder JTL-Search? Für Ersteres: sind denn für das Suchwort mehr als 5 gespeicherte Suchanfragen vorhanden? Die Suchvorschläge werden nicht aus dem Artikelbestand ermittelt, sondern aus den freigeschalteten Suchanfragen der "Livesuche".
 

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Hallo,
verwendest du die Standardsuche oder JTL-Search? Für Ersteres: sind denn für das Suchwort mehr als 5 gespeicherte Suchanfragen vorhanden? Die Suchvorschläge werden nicht aus dem Artikelbestand ermittelt, sondern aus den freigeschalteten Suchanfragen der "Livesuche".


Hallo,

wir verwenden die Standardsuche und ja, es gibt mehr als 5 passende, freigeschaltete Suchanfragen zu meinen Test-Suchbegriffen.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Hm, hab mir das im Code von 4.06 nochmal angesehen... Wird in einer neuen Browsersession (nicht im Backend eingeloggt) der neue Wert verwendet? Welche Version vom Shop setzt du ein?
 

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Nein, leider ist auch dann alles beim Alten. Eingestellter Wert ist 20, angezeigt werden 5. Der Shop ist ein 4.06.9
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Dann mach bitte ein Support-Ticket auf, damit sich das jemand konkret bei dir ansehen kann. Ich kann das so nicht nachstellen und auch im Code nicht nachvollziehen.
 

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Ticket habe ich heute morgen eröffnet, aber das Problem ist wohl etwas tiefgreifender, so dass ein Entwicklerticket eröffnet wurde:
https://issues.jtl-software.de/issues/SHOP-2880

Klingt jetzt blöd, aber ich hätte mir das Thema also eigentlich sparen können. Wenn es keine einfache, zeitnahe Lösung gibt, ist die ganze Livesuche-Geschichte für die Katz.
Mich wundert allerdings sehr, dass dieses Problem scheinbar vorher noch niemand hatte. Nutzt denn niemand die Standardsuche mit Livesuche?
 
Zuletzt bearbeitet:

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Hallo,
ich habe nur auf der Code-Seite für die DB-Abfrage geschaut. Da wird der Parameter korrekt ausgewertet. Auf der Templateseite spielt das jedoch keine Rolle. Da ist einfach fest das standardmäßige Limit von 5 drin.
Wenn du das kurzfristig selbst ändern willst, dann kannst du in /templates/Evo/js/global.js ungefähr ab Zeile 330 den Block
JavaScript:
name:      'product-search',
display:   'keyword',
source:    productSearch,
templates: {
    suggestion: function (e) {
        return e.suggestion;
    }
}
um das gewünschte Limit erweitern:
JavaScript:
name:      'product-search',
display:   'keyword',
source:    productSearch,
limit: 10,
templates: {
    suggestion: function (e) {
        return e.suggestion;
    }
}
 

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Dank dir. Jetzt sind es zumindest 10 statt 5.
Das "zumindest" bezieht sich darauf, dass ich vorsorglich mal 100 als Limit eingesetzt habe, um sicher zu gehen, dass auch alle relevanten Vorschläge angezeigt werden. Es gibt aber seltsamerweise nur 10 Vorschläge, obwohl es mehr sein müssten.
Man kann das Limit mit deinem Workaround also scheinbar nur auf 10 erhöhen..


EDIT:
Problem gelöst. Die neue Beschränkung auf 10 Vorschläge steht in der includes/io_inc.php in einer der ersten Codezeilen.


Bleibt abschließend nur noch das seltsame Verhalten, dass er mir (im Anschluß an die korrekten Vorschläge) Suchvorschläge macht, die meines Erachtens überhaupt keinen Sinn ergeben und bei denen ich mich frage, wie er darauf kommt...
Aber das steht auf einem anderen Blatt und soll jetzt erst einmal nicht mein Problem sein. Darum kümmere ich mich vielleicht später mal.



Hallo,
ich habe nur auf der Code-Seite für die DB-Abfrage geschaut. Da wird der Parameter korrekt ausgewertet. Auf der Templateseite spielt das jedoch keine Rolle. Da ist einfach fest das standardmäßige Limit von 5 drin.
Wenn du das kurzfristig selbst ändern willst, dann kannst du in /templates/Evo/js/global.js ungefähr ab Zeile 330 den Block
JavaScript:
name:      'product-search',
display:   'keyword',
source:    productSearch,
templates: {
    suggestion: function (e) {
        return e.suggestion;
    }
}
um das gewünschte Limit erweitern:
JavaScript:
name:      'product-search',
display:   'keyword',
source:    productSearch,
limit: 10,
templates: {
    suggestion: function (e) {
        return e.suggestion;
    }
}
 
Zuletzt bearbeitet:

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
529
Halle
Problem gelöst. Die neue Beschränkung auf 10 Vorschläge steht in der includes/io_inc.php in einer der ersten Codezeilen.
Die standardmäßigen 10 werden dort aber durch die Backendeinstellung "suche_ajax_anzahl" überschrieben, bzw. nur verwendet, wenn diese Einstellung auf <= 0 gesetzt wird.

Bleibt abschließend nur noch das seltsame Verhalten, dass er mir (im Anschluß an die korrekten Vorschläge) Suchvorschläge macht, die meines Erachtens überhaupt keinen Sinn ergeben und bei denen ich mich frage, wie er darauf kommt...
Für die Suche wird die Soundex-Funktion verwendet, die nicht nur exakte sondern eben auch "ähnliche" Treffer liefern soll. Die Sortierung erfolgt jedoch nach Relevanz, so dass die Ergebnisse mit der exaktesten Übereinstimmung an den oberen Positionen stehen. Hier muss man halt abwägen, wieviele Suchvorschläge tatsächlich sinnvoll sind. Erfahrungsgemäß sind aus Nutzersicht eh nur die ersten 3-5 relevant, eine sehr viel längere Liste wird eher als unübersichtlich wahrgenommen.
 

m-dynamics

Gut bekanntes Mitglied
16. Februar 2014
131
5
Die standardmäßigen 10 werden dort aber durch die Backendeinstellung "suche_ajax_anzahl" überschrieben, bzw. nur verwendet, wenn diese Einstellung auf <= 0 gesetzt wird.

Verstehe, das heisst auch hier wird der Wert aus "suche_ajax_anzahl" nicht richtig übernommen, da der default-Wert von 10 zur Anwendung kommt.


Für die Suche wird die Soundex-Funktion verwendet, die nicht nur exakte sondern eben auch "ähnliche" Treffer liefern soll. Die Sortierung erfolgt jedoch nach Relevanz, so dass die Ergebnisse mit der exaktesten Übereinstimmung an den oberen Positionen stehen. Hier muss man halt abwägen, wieviele Suchvorschläge tatsächlich sinnvoll sind. Erfahrungsgemäß sind aus Nutzersicht eh nur die ersten 3-5 relevant, eine sehr viel längere Liste wird eher als unübersichtlich wahrgenommen.

Okay, nachvollziehbar. Ähnlichkeit ist halt subjektiv.

Gerade habe ich dann noch festgestellt, dass der freigeschaltete Suchbegriff (Beispiel ohne Bezug zu unserem Shop) "Volkswagen Golf" bei der Sucheingabe "Golf" nicht vorgeschlagen wird. Sehr unlogisches und unglückliches Verhalten.
 

Ähnliche Themen