Jump to content
thirty bees forum

Recommended Posts

Posted

Hallo,

alle meine Artikel haben einzigartige Artikelnummern. Diese setzten sich auch Buchstaben, Zahlen und Bindestrichen zusammen (z.B. ARES-SIGEDHLM-0001). Wenn ich aber eine dieser einzigartigen Artikelnummern in der Suche meines Shops eingebe, dann bekomme ich 2/3 aller meiner Artikel als Ergebnis angezeigt. Das sind mehrere Hundert Ergebnisse. Ich habe versucht die Sucheinstellungen anzupassen. Wenn ich die Exakte Suche aktiviere ändert sich nichts. Ich habe Artikelnummern in den Sucheinstellungen die höchste Gewichtung gegeben. Auch das ohne Erfolg. Wenn ich die Artikelnummer bei der Suche in Anführungszeichen setzte bekomme ich auch kein anderes Ergebnis. Da die Artikelnummern jedoch einzigartig sind, sollte ich auch nur ein einziges Ergebnis bekommen. Hat jemand eine Idee wie man dieses Problem beheben könnte?

Meine Shop-Version: 1.0.8

 

Posted

Ich denke die Bindestriche sind das Problem... Wenn man nur nach "SIGEDHLM" sucht, funktioniert es... 

Ich bin persönlich gar kein Fan von Sonderzeichen in Artikelnummern. Das macht immer Probleme... Wir verzichten auch auf Buchstaben...

Posted

Hallo Emanuel,

danke für die schnelle Rückmeldung. Leider sind meine Artikelnummern schon seit langem so und das auch über mehrere Plattformen hinweg. Unter Prestashop war das auch kein Problem, kann ich mich gut erinnern. Hast Du eine Idee wie ich das Problem lösen könnte ohne meine Artikelnummern zu ändern?

Posted

Vor allem müsste es doch wenigsten funktionieren wenn man den Suchbegriff in Anführungszeichen setzt. Dann sollten die Bindestriche doch keine Rolle mehr spielen.

Posted

Du könntest folgendes versuchen 

$words = explode(' ', Search::sanitize($expr, $idLang, false, $context->language->iso_code));

mit

$words = explode(' ', pSQL($expr));

ersetzen.

Posted

Das mit der Search.php war eine gute Idee. Ich habe einfach die Search.php von Thirty Bees durch die Search.php aus meiner alten Prestashop-Version ersetzt und jetzt funktioniert es wieder 🙂

Ich werde jetzt noch paar Tests machen um zu sehen ob nichts anderes dabei kaputt gegangen ist.

Posted

Also entferne ich den Bindestrich, damit er ihn nicht durch ein Leerzeichen ersetzt?

Etwa so:

$string = preg_replace('/[._]+/', ' ', $string);

 

Posted

Ich bin selber nicht ganz sicher, da ich mich mit regulären Ausdrücken nicht auskenne :D. Ich würde einfach die ganze Zeile entfernen. Schliesslich wurde einfach diese Zeile hinzugefügt...

Am sinnvollsten mittels Override, damit du bei einem Update nicht wieder das gleiche Problem bekommst.

Posted

Ich habe die Zeile mal testweise auskommentiert. Das scheint nicht der Übeltäter gewesen zu sein. Reagiert noch immer wie zuvor.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...