Расширенный поиск в Drupal

В данной статье я опишу процес создания расширенного поиска на Вашем сайте на основе таксономии и CCK полей. Для этого необходимо создать представление (views) типа "Материал".

В разделе "Фильтры" нужно добавить следующие параметры с последующей настройкой каждого из них. 

  1. Добавляем фильтр "Материал: Тип" и явно его указываем (если Вы не хотите иметь возможность его выбирать) .
  2. Добавляем фильтр "Найти: Условия поиска". Это параметр по которому мы будем искать - ключевое слово (слова). Для того, чтобы иметь возможность вводить его вручную необходимо его раскрыть (exposed). Желательно установить галочку "Необязательно", так как основной задачей есть поиск по параметрам.
  3. Для выбора по таксономии необходимо добавить фильтр "Таксономия: Термин" (ID термина Таксономии). Выбрав его нужно указать желаемый словарь, а способ выбора указать как Выпадающий. Для того, чтобы иметь возможность выбирать нужную категорию вручную необходимо его раскрыть. Желательно установить галочку "Необязательно".

Расширеный поиск в Drupal

Все остальное, что Вам необходимо можно делать по аналогии.

Расширеный поиск в Drupal

Для того, чтобы, чтото увидеть в результате поиска, Вам нужно добавить необходимые Поля.

Расширеный поиск в Drupal

Для вывода нужно использовать "Страницу", обязательно указав ее будущий Адрес.
В параметрах рекомендую укзать следующие настройки:

  1. Использовать AJAX: Да
  2. Постранично: Да
  3. Уникальность: Да
  4. Кэширование: Нет
Примечание*:  Если Вами выбран стиль отображения Страница и все фильтры отмечены как необязательные, то при заходе на страницу будет сразу производиться поиск материалов. Для избежания этого Вам необходимо использование блока (Exposed form in block) на любой странице. Также это будет полезно если Вам достаточно наличие блока поиска на странице, для реализации этого Вам достаточно указать в представлении по умолчании параметр: Exposed form in block: Да и в разделе блоков указать область отображения.

То что получилось у меня видно на картинке ниже. 

 

Расширеный поиск в Drupal