Перейти к содержимому


Поиск товаров


  • Вы не можете ответить в тему
Сообщений в теме: 6

#1 NLO56

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 91 сообщений
Репутация: 5
Начинающий
  • ГородСанкт-Петербург

Отправлено 06 April 2014 - 01:32 AM

Стандартный поиск товаров работает конечно, но не совсем так сказать корректно.
В идеале нужно чтобы искал все что есть на странице с товаром.
К примеру:
Товар: БАЧОК СТЕКЛООМЫВАТЕЛЯ
Код товара: 6913ZBS-1
Оригинальный номер OEM: 6Q0955453N, 6Q0955453P

Стандартным поиском находит только:
БАЧОК СТЕКЛООМЫВАТЕЛЯ
и Код товара 6913ZBS-1
Оригинальный номер OEM: 6Q0955453N, 6Q0955453P ищет только через расширенный поиск

1) Нужно чтобы искалось все что есть на странице с товаром через стандартный поиск.
2) Оригинальный номер может быть забит пользователем и в таком виде: 6Q0 955 453N, 6Q0-9554.53P (в общем всякие тире точки и т.д) но как бы не забил в поиск покупатель, результат: вывод должен быль на: Код товара: 6913ZBS-1

Кто нибудь возьмется за такую переделку?
  • 0

#2 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2014 - 12:39 PM

Стандартным поиском находит только:
БАЧОК СТЕКЛООМЫВАТЕЛЯ
и Код товара 6913ZBS-1
Оригинальный номер OEM: 6Q0955453N, 6Q0955453P ищет только через расширенный поиск

Это не так. Стандартный поиск ищет в коде, названии, кратком и полном описаниях.
Если у Вас не ищет, значит кто-то модифицировал штатный код.
Исходно код запроса, касающийся поиска выглядит так:

$where_clause .= " ( LOWER(name) LIKE '%".xToText(trim(strtolower($callBackParam["search_simple"][$n])))."%' OR ".
" LOWER(description) LIKE '%".xEscSQL(trim(strtolower($callBackParam["search_simple"][$n])))."%' OR ".
" LOWER(product_code) LIKE '%".xEscSQL(trim(strtolower($callBackParam["search_simple"][$n])))."%' OR ".
" LOWER(brief_description) LIKE '%".xEscSQL(trim(strtolower($callBackParam["search_simple"][$n])))."%' ) ";

т.е. при строке поиска 6Q0955453N найден будет и тот товар, который содержит эту строку в кратком либо полном описании.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#3 NLO56

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 91 сообщений
Репутация: 5
Начинающий
  • ГородСанкт-Петербург

Отправлено 08 April 2014 - 11:21 PM

Стандартным поиском находит только:
БАЧОК СТЕКЛООМЫВАТЕЛЯ
и Код товара 6913ZBS-1
Оригинальный номер OEM: 6Q0955453N, 6Q0955453P ищет только через расширенный поиск

Это не так. Стандартный поиск ищет в коде, названии, кратком и полном описаниях.
Если у Вас не ищет, значит кто-то модифицировал штатный код.
Исходно код запроса, касающийся поиска выглядит так:

$where_clause .= " ( LOWER(name) LIKE '%".xToText(trim(strtolower($callBackParam["search_simple"][$n])))."%' OR ".
" LOWER(description) LIKE '%".xEscSQL(trim(strtolower($callBackParam["search_simple"][$n])))."%' OR ".
" LOWER(product_code) LIKE '%".xEscSQL(trim(strtolower($callBackParam["search_simple"][$n])))."%' OR ".
" LOWER(brief_description) LIKE '%".xEscSQL(trim(strtolower($callBackParam["search_simple"][$n])))."%' ) ";

т.е. при строке поиска 6Q0955453N найден будет и тот товар, который содержит эту строку в кратком либо полном описании.

Так то оно так. Дело в том что при загрузке прайса
Оригинальный номер OEM добавляю как дополнительный параметр и стандартным поиском не ищет, только через расширенный поиск
  • 0

#4 NLO56

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 91 сообщений
Репутация: 5
Начинающий
  • ГородСанкт-Петербург

Отправлено 09 April 2014 - 10:11 PM

т.е. при строке поиска 6Q0955453N найден будет и тот товар, который содержит эту строку в кратком либо полном описании.

Да, будет искать, если в теле страницы. Дело в том, что при загрузке прайса "Оригинальный номер ОЕМ" загружался ка дополнительный параметрПрикрепленный файл  Snap1.jpg   38.74К   4 Количество загрузок:
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 15 April 2014 - 12:48 PM

Да, будет искать, если в теле страницы. Дело в том, что при загрузке прайса "Оригинальный номер ОЕМ" загружался ка дополнительный параметр

Да, действительно, если текст надо найти в дополнительном параметре, заданном произвольной строкой, то через обычный поиск это сделать не получится. Только через расширенный либо через фильтр. Переделка возможна, пишите в личку.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 ajaxworker

    Пользователь

  • Пользователи
  • PipPip
  • 15 сообщений
Репутация: 1
Начинающий

Отправлено 03 January 2015 - 01:17 AM

У кого-то были мысли подключить Sphinx для индексации и поиска товаров на сайте?
  • 0

#7 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 05 January 2015 - 12:06 AM

У кого-то были мысли подключить Sphinx для индексации и поиска товаров на сайте?

Очень сомнительно. Нахуая Sphinx для ShopCMS? Потренироваться в стрельбе из гаубицы по муравьям?

У нас ведь не гигабайты постоянно меняющихся статей, а достаточно небольшой (максимум - десятки тысяч) и достаточно статичный (неизменный по текстовому наполнению) набор товаров. Индексацию в целях быстрого поиска прекрасно делает Яндекс (думаю, они там тот же Sphinx и используют), заходящий раз в сутки на сайт за новым сайтмапом и несколько раз в сутки за новыми товарами, в нем появившимися. Результат получаем путем установки на сайт виджета (?) Яндекс.Поиск. Скорее всего, аналогичная услуга есть и у Гугля. Да, новые товары появляются в поиске по сайту с некоторым запозданием, но зато без каких либо хлопот со своей стороны.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)