Drupal: Настройка раскрытых фильтров

Система представлений Drupal, реализуемая с помощью модуля Views, предоставляет возможность гибко настраивать фильтрацию контента, но, что еще более удобно - дает возможность посетителям сайта самим выбирать те, или иные критерии фильтрации, в соответствии с личными пожеланиями. Данная функция системы представлений Drupal называется Exposed filters (Раскрытые фильтры).

 

Как настроить Раскрытые фильтры

Для начала, убедитесь, что у вас установлен и включены модули Views и Views UI.

Предположим, имеется сайт с каталогом складского оборудования, для поиска которого надо создать фильтр. На месте складского оборудованимя спокойно может оказаться ваш вариант, например обувь, компьютерные комплектующие и так далее. Для хранения информации про оборудование, создан новый тип материала Складское оборудование, внутри которого определено множество полей, среди которых есть Тип оборудования, Тип двигателя, и много других. Все поля я перечислять не буду, для данного примера хватит одного-двух полей.

Создайте представление, или откройте уже созданное ранее вами. В секции Критерии фильтрации добавьте новый критерий, для этого нажмите кнопку Добавить (Add).

В открывшемся окне найдите параметр, по которому вы хотите производить фильтрацию контента. Предположим, я хочу производить фильтрацию по типу двигателя. Нахожу в списке Содержимое: Тип двигателя, устанавливаю для него чекбокс и нажимаю кнопку Применить.

В следующем открывшемся окне я перевожу радио переключатель в положение Выпадающий, так как автодополение посетителям никак не поможет, если они не знают названий терминов в словаре.

В следующем открывшемся окне, настроек критерия фильтра Содержимое: Тип двигателя, устанавливаю чекбокс "Раскрыть этот фильтр для посетителей и позволить его изменять.". Помимо включения раскрытого фильтра, данное окно содержит много других параметров, но я их пока касаться не буду, а оставлю значения по умолчанию. Для сохранения изменений, нажмите кнопку Применить (Обратите внимание, что можно применить изменения как для отдельного, так и для всех отображений).

Теперь, прокрутите вниз окна и нажмите кнопку Обновить предпросмотр. Появится результирующий вывод представления, а также раскрытый фильтр, только что добавленный нами. Попробуйте изменить критерий фильтрации и убедитесь, что все работает как следует.

Теперь вы можете сохранить представление и перейти на страницу, определенную в вашем представлении, для того, чтоб увидеть, как раскрытый фильтр выглядит в живую.

Как видите, раскрытые фильтры создавать очень просто. Теперь вы можете настроить фильтры для всех критериев фильтрации, которые пожелаете.

Улучшаем раскрытые фильтры

Если вы попробовали создавать свои фильтры, наверняка могли заметить некоторую ограниченность стандартных фильтров - они предоставляют возможность выбора праметра только из выпадающих списков, простых списков, или тектстового поля с автодополнением.

Для реализации недостающего функционала, создан модуль Better Exposed Filters, который дополняет возможности системы представлений Drupal, давая возможность вывода раскрытых фильтров в виде чекбоксов, радио-переключателей, поддерживает реализацию jQuery слайдеров и многое другое. Для того, чтоб увидеть работу этого модуля, посмотрите это видео.

 

There are 2 Comments

Добрый день. Подскажите как

Добрый день. Подскажите как на первом скрине сделано выбранные фильтры (A-data) и кнопка сбросить все?

кнопку сброса можно добавить через раскрытый фильтр

Данный скриншот сделан с сайта розетки, так как мне он показался очень наглядным. Один из вариантов и, как мне кажется, самый удобный - это установить модуль Better Exposed Filters, в настройках которого имеется возможность одним кликом добавить кнопку сброса параметров раскрытого фильтра.

Для того, чтоб перечислить выбранные фильтры, следует править файл темы вашего сайта, отвечающий за вывод представления, или через параметр #prefix раскрытой формы.

Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <s> <u> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <hr> <dd> <sub> <sup>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Защита от СПАМ ботов. Подтвердите, пожалуйста, что вы человек.
1 + 2 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.