Post by ayrton » Tue Nov 06, 2012 5:37 pm

Γεια χαρά,
Εχω στήσει 'ένα μαγαζίσ το http://eshop.bafetis.gr/ και οταν πηγαίνω να ψάξω για μιά λέξη που είναι στο κείμενο της περιγραφής αλλά μέσα σε πίνακα ...απλα δεν μου την βρίσκει.
Για παράδειγμα στο προιόν http://eshop.bafetis.gr/index.php?route ... duct_id=83
Σημειωτέον οτι το πινακάκι είναι φτιαγμένο με τον editor του προγράμματος και οχί με copy-paste απο αλλου.
Αν ψάξω για κάτι που βρίσκεται εκτός του πίνακα το βρίκσει.

Εχει κανείς καμμιά ιδέα??
Ευχαριστώ εκ τον προτέρων

Newbie

Posts

Joined
Thu Sep 13, 2012 5:14 pm

Post by People's Code » Wed Nov 07, 2012 10:08 am

Αν έχεις Opencart v1.5.4.1, το πρόβλημα οφείλεται στο ότι το MATCH(pd.description) δεν μετατρέπει σε lowercase τα στοιχεία που ψάχνει στο column pd.description, ενώ η λέξη προς αναζήτηση μετατρέπεται σε lowercase με συνέπεια να μην υπάρχει ταύτιση.

Μία λύση είναι να μετατρέψεις το script με LIKE που χρησιμοποιούταν σε προηγούμενες εκδόσεις αντί για MATCH() AGAINST() ... και αυτό γιατί δυστηχώς το MATCH(LCASE(pd.description)) δεν λειτουργεί.
Στο:
catalog/model/catalog/product.php
στις γραμμές 89 και 474, το:

Code: Select all

$sql .= "LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%' OR MATCH(pd.description) AGAINST('" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "')";
Το μετατρέπεις σε:

Code: Select all

$sql .= "LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";
Υπόψιν ... το query ψάχνει και άλλες παραμέτρους του προϊόντως (tags, model κλπ), εννοείται ότι αν θες κι εκεί σωστή αναζήτηση πρέπει να κάνεις κάτι ανάλογο ...

Αν κάνεις την αλλαγή διέγραψε και το cache.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Glyfada, Hellas
Who is online

Users browsing this forum: No registered users and 2 guests