Вывод данных с группировкой во 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. Что позволит сортировать по названию термина.

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

Изменения настроек поля программно Drupal 7

Май 27, 2020 г.

Если вам программно нужно изменить настройки поля в Drupal, то на помощь приходит Field CRUD API. Это набор функций из файла modules/field/field.crud.inc. ...

Читать

Использование LIKE оператора в db_select Drupal

Февраль 4, 2021 г.

Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее. Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения. Небольшой пример ...

Читать

Изменить текст no-results во views программно

Февраль 5, 2020 г.

Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления. Данная опция находится во вкладке 'advanced' вашего представления. Но в данной статье я покажу ...

Читать

Удаление nodequeue программно

Май 28, 2021 г.

Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных. Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы: [crayon-6876b3fe5007d389667569/] ...

Читать
 

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

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



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