Page 1 of 1

Поиск по нескольким параметрам

Posted: Wed Jul 22, 2009 11:53 am
by markzmanz
Всем привет.

Объясните мне пожалуйста, как через модуль search сделать поиск по нескольким параметрам, а не только по одному названию, например в модуле Products

К примеру такую форму поиска:

Название товара:
Категория:
Цена от:  до:
      Искать

Сам модуль search ищет в модуле Products по описанию, и другим полям, но дело в том, что ищет то он только по одному из критериев т.к. строка одна...

Пожалуйста помогите! Очень очень нужна ваша помощь, буду бесконечно благодарен, да и в долгу не останусь ;)

Re: Поиск по нескольким параметрам

Posted: Thu Jul 23, 2009 8:08 am
by markzmanz
Складывается такое впечатление, что здесь или только профессионалы, не желающие делиться помощью, либо новички довольствующиеся стандартным функционалам.

Re: Поиск по нескольким параметрам

Posted: Thu Jul 23, 2009 8:53 am
by von-hamster
А не складывается такого впечатления, что данный функционал никому еще не понадобился?

Теоретически - это очень большая переработка модуля поиска. Либо доработка модуля продуктов. Я, например, отделяю поиск по каталогу от поиска по сайту.

Ты можешь сделать следующим образом (самый простой вариант, который не предусматривает копание в коде - только нужно знать структуру БД):
1. создать свою формочку, в которой перечисляешь все критерии поиска, которые нужны.
2. Пишешь udt, который обрабатывает эту формочку, вытаскивая напрямую из базы идентификаторы продуктов, удовлетворяющих условиям поиска. И отображаешь список ссылок на заданные продукты. (здесь варианты - возвращаешь массив, возвращаешь результат пропустив через шаблон и тд).

Второй вариант - это добавлять свои action в модули. Причем, в твоем случае - это модуль продуктов. Для поиска - тебе придется переделывать индексацию, как минимум....

Re: Поиск по нескольким параметрам

Posted: Thu Jul 23, 2009 3:36 pm
by ZYV
von-hamster wrote:А не складывается такого впечатления, что данный функционал никому еще не понадобился?
Ты что, для этого же надо подумать. Очевидно, что все должы, даже если не сталкивались с такой задачей, бросить свою работу и бесплатно решать чужие проблемы, если ты ещё этого не понял  >:(