OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Υποστήριξη εμπορικών και δωρεάν επεκτάσεων & θεμάτων (Themes / Templates)
#8313
Καλησπέρα...

Χρησιμοποιώ ένα εξαιρετικό extension (Admin Search Wildcard) που κάνει search στο admin/products. Δηλαδή στο προϊόν με τίτλο "Canon EOS 5D", αν βάλω να ψάξει "5D" δε θα μου βγάλει αποτέλεσμα, ενώ με το extension βγάζει.

Αν ψάξω στο όνομα είναι case sensitive, ενώ στο μοντέλο όχι... Είναι εύκολο να το αλλάξουμε αυτό ;

Επισυνάπτω το extension που είναι 60 γραμμές...

Ευχαριστώ...
Πρέπει να συνδεθείτε για να δείτε τα συνημμένα αρχεία σε αυτήν τη δημοσίευση.
#8329
[EDIT] Κατάλαβα τι χρειάζεσαι. Αφαίρεσα όλα τα post με τις παραθέσεις γιατί θα μπερδέψουν άλλους επισκέπτες και απαντάω σε αυτό που χρειάζεσαι.

Η επέκταση προσθέτει απλά wildcard στην αρχή του κειμένου της αναζήτησης. Το wildcard δεν έχει σχέση με case-sensitive/insensitive αναζήτηση. Η case-sensitive/insensitive αναζήτηση είναι θέμα Collation.

Εξηγώ τι είναι το wildcard. Στα queries όπως είναι στο OCMOD που παρέθεσες, έχουν wildcard πριν και μετά τη λέξη αναζήτησης:
Κώδικας: Επιλογή όλων
SELECT * FROM `oc_product_description` WHERE `name` LIKE '%ALTITRaCK%'
Αναζητά στο όνομα προϊόντος κάποιο κείμενο που περιλαμβάνει τη λέξη "ALTITRaCK". Μπορεί να είναι "Blue ALTITRaCK", "ALTITRaCK Large", "Blue ALTITRaCK Large".

Ενώ στα queries του OpenCart είναι με wildcard μετά τη λέξη αναζήτησης:
Κώδικας: Επιλογή όλων
SELECT * FROM `oc_product_description` WHERE `name` LIKE 'ALTITRaCK%'
Αναζητά στο όνομα προϊόντος κάποιο κείμενο που ΞΕΚΙΝΑ με τη λέξη "ALTITRaCK". Μπορεί να είναι "ALTITRaCK", "ALTITRaCK Large", κλπ, αλλά όχι "Blue ALTITRaCK Large".

Για case insensitive αναζήτηση, από το phpMyAdmin, μπορείς να μετατρέψεις όποια στήλη πίνακα χρειάζεται σε case insensitive Collation όπως το utf8_general_ci.

Αν η στήλη "name" έχει Collation utf8_general_ci και το όνομα προϊόντος είναι "ALTITRaCK"
Είτε
Κώδικας: Επιλογή όλων
SELECT * FROM `oc_product_description` WHERE `name` LIKE 'altitrack%'
Είτε
Κώδικας: Επιλογή όλων
SELECT * FROM `oc_product_description` WHERE `name` LIKE 'ALTITRACK%'
θα φέρουν το ίδιο αποτέλεσμα

Για να κάνεις debug που οφείλεται το πρόβλημα, κάνε αναζητήσεις πρώτα με SQL queries από το phpMyAdmin να επιβεβαιώσεις ότι σου φέρνει το αποτέλεσμα που θες και μετά συζητάμε για το αν η τροποποίηση τρέχει σωστά στο OpenCart.
#8333
Καλησπέρα και Χριστός ανέστη...

Λοιπόν, (ελπίζω ότι έχω καταλάβει σωστά)...

Το LP1000 βρίσκεται σε 2 προϊόντα σε 2 γλώσσες και είναι στο Product Name, στο Description και στο Model με κεφαλαία.

Με SELECT * FROM `oc_product_description` WHERE `name` LIKE '%LP1000%'
μου έβγαλε 4 αποτελέσματα (2 προϊόντα σε 2 γλώσσες).

Με SELECT * FROM `oc_product_description` WHERE `name` LIKE '%lp1000%' δε βγάζει τίποτα (MySQL returned an empty result set)

Με SELECT * FROM `oc_product` WHERE `model` LIKE '%LP1000%' 2 αποτελέσματα.

Με SELECT * FROM `oc_product` WHERE `model` LIKE '%lp1000%' 2 αποτελέσματα.

Όπως είπαμε, "oc_product" και "oc_product_description" έχουν αμφότερα utf8_general_ci collation
#8334
Καλησπέρα, χρόνια πολλά, με υγεία!

Σωστά το κατάλαβες. Έλεγξε από την καρτέλα structure, αν η στήλη "name" του πίνακα "product_description" έχει όντως utf8_general_ci.
#8335
Εδώ είναι το έντομο. Όλα τα entries μέσα ήταν utf8mb4_bin. Άλλαξα μόνο το "name" σε utf8_general_ci και τώρα το search λειτουργεί κανονικότατα ότι και αν βάλω.

Δεν ξέρω γιατί ενώ το άλλαξα "κεντρικά" δεν άλλαξε και τις τιμές μέσα. Δεν ξέρω καν αν θα έπρεπε...

Όπως και να 'χει, ευχαριστώ πάρα πολύ.

Και για όποιον ενδιαφέρεται... και επειδή απ' ότι είδα, ούτε στο oc4 υπάρχει αυτή η δυνατότητα, το extension λέγεται Admin Search Wildcard που μαζί με το Admin Search On Enter (που είναι άλλες 5 γραμμές), πάνε το seach σε άλλο επίπεδο.

και πάλι ευχαριστώ...
#8336
Πιθανόν αρχικά χρησιμοποίησες εντολή για αλλαγή του default Collation του πίνακα πχ:
Κώδικας: Επιλογή όλων
ALTER TABLE oc_product_description CHARACTER SET utf8 COLLATE utf8_general_ci;

Αν θέλεις να αλλάξεις το collation και σε υφιστάμενες στήλες του πίνακα, δίνεις:
Κώδικας: Επιλογή όλων
ALTER TABLE oc_product_description CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

Vqmod and SEARCH NOT FOUND

Καλησπέρα, έχω ένα xml που βγάζει αυτό το λάθος […]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!