Drupal 7 и автозаполяемая строка поиска

Постановка задачи

Пусть требуется сделать автодополняемое текстовое поле в стандартной поисковой форме Drupal по примеру того, как это реализовано у поисковой системы Google.

Решение проблемы

С задачей вполне справляется модуль под названием "Search Autocomplete". Скачиваем его с официального сайта системы. После активации настраиваем права доступа на стандартной системной вкладке: разрешаем или запрещааем тем или иным ролям использовать данную возможность (обычные галочки напротив надписи "Use Search Autocomplete"). На данный момент русскую локализацию устанавливать не имеет смысла: там переведено от силы строчек 10-15.

Ниже привожу пример настройки поиска по заголовкам материалов типа "Статья".

  1. Помещаем стандартный блок с формой поиска в интересующий регион.
  2. Идем на страницу опций модуля "автокомплектации". Выбираем там "Настроить" блок поиска.
  3. Раскрываем первое вложение. Здесь можно выбрать минимальную длину поисковой фразы для начала подбора. Оставляем всё, как есть: з символа. А вот сколько результатов показывать все же заменим на 10 из выпадающего списка. 15 будет по-моему многовато.
  4. Раскрываем вторую закладку. Снимаем галочки везде, кроме "Add node titles". В начале мы условилиь о поиске только по заголовкам нод. Также уберем префикс: node, а то некрасиво как-то получается.
  5. Advanced options. Здесь прописывается идетификатор целевой формы. Оставим значение по умолчанию.

    Drupal 7 модуль автопоиска

  6. Если перейти чуть глубже (OPERATION), то можно увидеть следующую приятную опцию:

    Drupal 7 SQL запрос для поиска

    Обратите внимание на поле ввода конкретного SQL запроса "Query performed to get suggestion": гибкое решение. Плюс есть возможность задания Dependency module.

Скриншот, иллюстрирующий применение модуля

Drupal 7 автопоиск

 





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.