Меню

Drupal views global filter настройка

Создание сложного фильтра в Drupal 7 через views.

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

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

Переходим по пути «Структура->представления->Добавить новое представление» и вводим первоначальные настройки, в данном случае ввели только название представления, остальное оставляем по умолчанию

Жмём «продолжить и редактировать». Теперь перед нами полноценная страница с полными настройками. По умолчанию у нас выводится «Содержимое» – в своём примере я такой вывод и оставлю, если вам необходимо вы можете поменять на «Поля». Переходим в раздел «Критерии Фильтрации», где у нас по умолчанию в качестве критерия выведен один параметр – «Опубликовано»

Нам необходимо сделать данный критерий – раскрытым. Для этого кликаем по ссылке «Опубликовано», и в появившемся окне ставим галочку напротив «Раскрыть фильтр для посетителей, что бы они могли его изменять», в английском варианте это выглядит как «Expose this filter to visitors, to allow them to change it»

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

И жмём применить. Теперь создадим выбор по критерию «Тип материала». В разделе «Критерии фильтрации» жмём «добавить»

Жмём «Добавить». Теперь нам необходимо опять сделать данный критерий раскрытый, поэтому ставим галочку напротив «Раскрыть фильтр для посетителей, что бы они могли его изменять» и так же разрешим «Множественный выбор», что бы пользователь смог производить фильтрацию по нескольким типам одновременно.

Далее жмём «Применить». Теперь нам осталось добавить фильтр по терминам таксономии из словаря. Опять в разделе «Критерии Фильтрации» жмём «Добавить» и выбираем из списка необходимый фильтр

Жмём «Применить». В открывшемся окне перед нами будет представлен список словарей и способ выбора термина. В нашем случае больше подходит выпадающий список и поставим галочку напротив «Показывать иерархию»

Жмём «Применить». С необходимыми фильтрами разобрались, теперь для удобства давайте выведем данные фильтры в качестве блока, что бы в дальнейшем разместить его в необходимом нам регионе. Для этого идём в раздел «Дополнительно» и в пункте «Раскрытая форма» изменяем «отображать в блоке» на значение «ДА»

Как мы видим, фильтры у нас выводятся. Теперь попробуем что ни-будь отфильтровать

Источник

Drupal Русскоязычное сообщество

Для начала нам нужно научиться выводить блоки и страницы с помощью Views. Давайте начнем со страниц. Выведем все статьи нашего сайта.

Вывод страниц через Views.

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

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

Читайте также:  Что такое hwa настройки

Нажимайте Сохранить и продолжить. Теперь давайте по порядку разберем все части конструктора Views:

Добавление и удаление

Мы можем добавлять и удалять или отключать отображения. Дело в том что в одном представление может быть несколько отдельных вью. Это очень удобно, когда нужно вывести на странице все статьи, а в блоке (да можно выводить блоки и страницы через один вью) вывести только 5 статей, то есть можно переопределить отдельные настройки. Можете пока не запариваться по этому поводу, дальше когда у вас возникнет такая потребность вы это сделаете, а пока можете под каждую потребность создавать отдельный вью.

Формат вывода

В формате вывода вы можете выбрать непосредственно Формат, бывает несколько форматов (по умолчанию):

Поля или тизеры?

Также у нас есть возможность выводить содержимое в виде тизеров или полей, из прошлых уроков вы должны были узнать как менять поля для тизеров, давайте сейчас поставим вывод через поля:

Теперь мы можем добавлять поля, давайте выведем поля Заголовок (title) и Содержимое (body) ноды:

Нажмите Добавить и выберите поле Содержимое: body. Метку можно убрать.

Теперь у нас есть два поля Заголовок и содержимое, вы можете поэксперментировать и вывести дату публикации, автора, категории статьи или добавить поля к типу материала Статья и вывести их тоже в своем вью. Также обратите внимание на поле содержимого (body), мы можем его обрезать под нужное количество символов и добавить три точки. Для этого щелкните по полю боди и в окне настройки вывода поля поставьте галочку Обрезать содержимое (Trim this field maximum. ) и пишем какое количество символов выводить:

Дальше нужно поставить галочку Удалить HTML-теги, чтобы в тексте не было не закрытых тегов, из-за этого может поехать верстка.

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

Фильтры

Сейчас у нас два фильтра один, чтобы выводить только опубликованные ноды, один чтобы выводить только статьи. Но мы можем менять эти фильтры как нам угодно.

Если у вас в фильтрах есть Использование файлов. то нужно удалить это фильтр и вместо него выбрать тип материала:

Чтобы удалить фильтр, нужно кликнуть на кнопку Добавить в области стрелочки и выбрать Rearrange, в появившемся окне вы сможете удалить фильтр. И потом добавляем фильтр по типу материала.

Также можно фильтровать по автору, по тегам и категориям и еще много по каким критерия, можете поэксперментривать с фильтрами сами. Теперь давайте перейдем к сортировке.

Сортировка

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

Сейчас у нас сортировка по дата добавления, причем чем новее материал, тем выше он будет в списке (если поставить по возрастанию, то будет обратный порядок). Но мы можем задать вес нашим материалам. Давайте добавим поле Вес нашей статье, чтобы это было положительным целым числом и минимум 1. О том как добавлять поля, вы можете посмотреть в прошлом уроке.

Читайте также:  Тегированный vlan настройка сетевой карты

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

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

Для этого если на кнопке добавить кликнуть на стрелочку на кнопке и выбрать Rearrange, то с помощью крестиков можно поменять местами очередность сортировок.

Сохраняем вью. Все теперь можно создать несколько статей, зайти на сайт на страницу /articles (возможно вы прописали у себя во вью другой путь) и посмотреть результаты:

Источник

Блог Vaden Pro

Настройка связей и контекстных фильтров в представлениях (views) Drupal 7

Модуль Veiws позволяет не только создавать представления и выводить их в виде страниц и блоков, а также с его помощью можно выводимые материалы: сортировать, фильтровать, темизировать, связывать. Разбираясь с полями представлений в предыдущих уроках курса, мы встретили настройки контекстных фильтров и связей. И вот пришло время разобрать их более подробно.

Зайдём на любую из наших книг и пролистав вниз увидим, что поле написал, выступает обычной ссылкой на автора.

Используя модуль Views мы изменим вывод авторов, сделав его более динамичным и релевантным.

Подготовка к работе

Перед тем как начать работать с нашим представлением, нам сначала необходимо скрыть поле, которое мы будем изменять, в нашем случае «Написал», из отображения. Для того, что бы это сделать необходимо, в «Структура», который находится на административной панели, выбрать подраздел «Тип материала», навести курсором на необходимый материал, в моём случае это «книга» и перейти на раздел «Управление отображением».

Теперь наше поле выводиться на странице представления не будет, что нам и нужно было так как мы его заменим другим представлением. Ну а для этого, конечно же, его нужно будет создать, а как это делать мы уже знаем.

Создание представления

После добавления представления настраиваем его под себя, как это делать мы уже знаем. Задаём имя представления «Автор», далее вводим машинное имя «author», обратим внимание что при написании машинного имени нельзя использовать буквы верхнего регистра. Далее в поле показать оставляем «Содержимое», ели оно не стояло по умолчанию, то выбираем его, выбираем тип «Автор» и убираем сортировку.

Читайте также:  Настройка громкости разговора android

Его мы будем выводить не как страницу, а как блок, по этому мы ставим галочку на соответствующем разделе и убираем её с «Создать страницу». В настройках блока заполняем графу «заголовок блока», а в формате отображение выбираем «Сетка» из «поля» и продолжаем создание представления нажатием кнопки «продолжить редактирование».

Так как хорошего писателя, читатель должен знать в лицо, добавим в разделе «поля» поле Фото, а в его настройках сразу выставим Thumbnail (100×100).

Теперь можно воспользоваться уже известной нам функцией «предпросмотр» и посмотреть, что у нас получилось.

Создание связи

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

В настройках связи изменяем поле «Идентификатор» с стандартного на необходимый нам, в своём отображении я напишу «Написал». И после того как поставили галочку на «Эта связь обязательна» сохраняем настройки нажатием кнопки «Применить». Так из представления уберутся все авторы, которые ни с чем на сайте не связаны.

Создание контекстного фильтра

Дальнейшим этапом настройки будет добавление контекстного фильтра, для того, чтобы выводить писателя только на своей книге. Для этого в графе «контекстные фильтры» нажимаем кнопку «Добавить».

В выплывающем списке нам необходимо добавить «Содержимое: Nid», и перейти к его настройкам нажав клавишу применить.

В настройках в графе связь выбираем ранее созданную нами fiel_napisana. Это действие необходимо для указания аргумента фильтрации. В данном случае мы указываем на индефикатор Книги, а не Автора.

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

На этом наши настройки закончены и можно сохранять наше отображение.

Выведение представления в нужном месте

Этими действиями мы создали «Блок» с нашим отображением, который по умолчанию ни где не выводиться. Для того чтобы его вывести необходимо, перейти в «Блоки», который вложен в раздел «Структура», найти в отключённых наш блок и вывести там где мы хотим его видеть. В своей библиотеке я выведу его в сайдбаре выше нашего блока «популярные» и сохраним блоки.

Теперь перейдём в настройки непосредственно блока.

Пролистываем в самый низ и в «настройки видимости» в разделе «Типы материалов» выбираем «книга» и сохраняем. Теперь наш блок будет выводиться только на типах материала «Книга».

Теперь перейдём на нашу книгу и увидим что выводится её Автор. Дальнейшая тимизация блока будет проходить посредством Css.

В случае если в этом блоке у вас будет выводиться несколько материалов, то желательно настроить количество столбцов у сетки. Для этого необходимо перейти в настройки представления и нажать на ссылку «настройки» в разделе формата. Находим поле под названием «число столбцов*» и выставляем необходимое нам значение.

Данная функция модуля представления, расширяет область его использования и очень помогает при создании интернет магазинов на базе Drupal.

Источник

Adblock
detector