Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

4.5.7. Агрегация данных во Views.

18/11/2019, by Ivan

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

По умолчанию из коробки в друпале есть словарь таксономии Тэги (Tags). Давайте создадим блок с самыми популярными тегами и выведем в конце каждого тега, сколько материлов на сайте с этим тэгом. У нас получится примерно такой список:

  • Drupal 8 (10)
  • Drupal 7 (6)
  • PHP (3)

Для начала вам нужно будет создать статьи (Articles) и привязать к ним тэги. 

/node/add/article

drupal views

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

/admin/structure/views/add

Добавляем Views блок, выбираем Таксономию и словарь Теги:

Drupal views

Дальше нужно включить агрегацию во Views'е:

Drupal aggregation

Теперь у нас появились дополнительные настройки агрегации в полях:

drupal view

Теперь добавляем связь Материалы с термином:

Drupal

Здесь заполняем обязательность связи, чтобы подсчитывать только те материалы в которых выбран тег:

drupal 8

Теперь нам нужно два поля Термин таксономии (Имя), первое мы скрываем:

drupal 8

Второму полю мы выставляем тип агрегации Количество (Count):

aggregation

Drupal

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

Drupal 8

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

Drupal 8

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

{{ name }}  ({{ name_1 }})

Мы пишем второе поле в скобочках круглых, чтобы наше число было в скобках. Фигурные скобки берутся из Twig'a, мы будем с ним разбираться позже, пока нам достаточно знать, что если мы используем эти значения в {{ }} они будут заменяться на значения нужных нам полей.

В результате у вас должны быть вот такие вот поля:

Drupal 8

Что должно выглядеть вот так:

Drupal views