Вывод данных с группировкой во views drupal

Типичная проблема при использовании модуля views — как вывести результат группировки, т.е. столбец вроде COUNT(*).

Это можно сделать штатными средствами модуля views. Для задачи вроде вывода под-итогов, сумм по сгрупированным строкам — смотрите модуль views_calc.

Итак, вводная по задаче:

  • вывести количество публикаций (node), сгруппированное по значению термина таксономии.
  • Таблицу отсортировать по имени термина (taxonomy.name).

У меня в задаче были публикации типа lot и использовался словарь таксономии «Вид разрешенного использования». Как фильтровать контент по типу публикаций, я думаю, рассказывать не нужно.

Создание полей views

Создайте views на базе элементов content с форматом представления «Table», это автоматически переведет view в режим использования полей (fields).

Нам требуется всего два поля — поле публикации, связанное с таксономией, и node.nid.

Включите use aggregation в advanced настройках представления.

Возле каждого из полей появится ссылка Aggregation settings, где для NID выберите COUNT, а для поля таксономии оставьте группировку результатов.

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

Сортировка по имени термина

Сейчас у вас подключено поле таксономии, которое содержит tid, а сортировку нужно сделать по свойству термина name, которого пока в запросе нет.

Через настройки advanced добавьте связь (Relationships -> add) с объектом «taxonomy terms on node«.

Здесь выберите словарь и обязательно поставьте галочку — Require this relationship.

Теперь в секции «сортировка» (Sort criteria) можно добавить поле Taxonomy term: Name. Что позволит сортировать по названию термина.

Мало букафф? Читайте есчо !

Еще один пример работы с EntityFieldQuery

Декабрь 23, 2020 г.

Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference. Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...

Читать

Error: Class 'Aws\S3\StreamWrapper' not found (Drupal 7)

Август 29, 2022 г.

При обновлении модуля s3fs с ветки 7.x-2.x -> 7.x->3.x друпалу не удаётся найти указанный класс. Все необходимые шаги по апгрейду сделаны, как описано в readme.txt модуля. Это проблема инициализации библиотеки awssdk в s3fs_libraries_info(). Drupal ...

Читать

Глюк модуля transliteration в php 7.3.

Октябрь 20, 2019 г.

Столкнулся со следующим неприятным багом, при использовании модуля pathauto, совместно с модулем транслитерации: Drupal генерирует "обрезанные" синонимы адресов страниц. Длина получаемого синонима плавала от 40-70 символов, и я никак не мог понять ...

Читать

Программно выводим блок в Drupal

Февраль 7, 2019 г.

Если вы решили вывести блок, реализованный в каком либо модуле, программно, то следующие  примеры кода помогут вам. Используя block API Запрашиваем данные блока через API, готовим массив для последующего рендеринга: [crayon-69cd67b6c0de8034769501/] ...

Читать
 

Комментарии к «Вывод данных с группировкой во views drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: