Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Поиск товаров (другой алгоритм)


Recommended Posts

Всем доброго времени суток. 

 

В редактировании заказа, в разделе "2. Товары", в подпункте "Добавить товар" имеется поле для ввода самого товара, и соответственно при вводе названия товара, выбивает все возможные товары. Но у меня на старом ocstore поиск осуществлялся не по началу, а по всем словам... 

То есть, есть например товар с названием: "Ноутбук Lenovo V110-15 AST", если я в поиске при добавлении товара (в редактировании заказа) буду писать как и называется товар: "Ноу ..", тогда найдет, а если напишу например Lenovo / V110 или даже просто оутбук, то в поиске такого не найдет..

Т.е., я ищу способ как сделать чтобы поиск был не по началу, а по "любому" месту в товаре..

Надіслати
Поділитися на інших сайтах


Узнал что этот самый поиск формируется в common.js (admin -> view -> javascript), но переделать пока что не могу и прошу помощи... Но скорее всего сам поиск формируется в одном из скриптов (php file)

Змінено користувачем HolodZ
Надіслати
Поділитися на інших сайтах


Копайте дальше: сам поиск выполняется в модели /admin/model/catalog/product.php, public function getProducts($data = array()

Поиск по началу слова идет из-за этого

if (!empty($data['filter_name'])) {
			$sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
		}

Символ % в конце говорит, что строка для поиска - символы из запроса, после которых могут идти любые другие символы.

if (!empty($data['filter_name'])) {
			$sql .= " AND pd.name LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
		}

Так должно искать любое вхождение строки, не только вначале. Но как это скажется на нагрузке я хз.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.