Запросы с группировкой в Drupal

DB API в drupal позволяет стоить, наверное, почти любые запросы, какие только можно составить на чистом sql. Приведенный ниже сниппет кода демонстрирует вывод публикаций, у которых отсутствуют переводы контента.

Для начала требуется получить полный список языков переводов.

Кол-во элементов массива $langcodesList — это все требуемые языки.

Теперь выберем публикации, у которых число записей в node_field_data меньше, чем требуемое число языков. Здесь понадобится группировка и условие having:

С помощью devel выведем:

Результат будет выглядеть так: по каждой ноде получим nid и кол-во языков (у меня в примере их 4, поэтому нода всего с двумя языками попала в выдачу).

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

Получить код оригинального языка сущности в Drupal

Октябрь 18, 2023 г.

Сущность возвращает язык в контексте выбранного языка, но иногда нужно получить оригинальный язык node или другой entity. Вот так выглядит запрос в контексте: [crayon-6ae8e825f03a5791634894/] А так можно получить код языка оригинальной версии ...

Читать

Drupal deployment

Май 18, 2023 г.

Шпаргалка по настройке и проведению деплоймента для Drupal (начиная с 8й версии). Деплоймент выполняется с использованием git, drush, composer и configuration management. На сервере должны выполняться команды в следующей последовательности: ...

Читать

Ошибка в Drupal: once is not a function

Май 8, 2023 г.

В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией. Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...

Читать

Редактируем атрибуты ссылки в twig шаблоне

Июль 14, 2023 г.

Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне? Например, возьмем штатный шаблон file-link.html.twig: [crayon-6ae8e825f06d8220936563/] Используем фильтр merge, добавляя нужные атрибуты: [crayon-6ae8e825f06de700176834/]

Читать
 

Комментарии к «Запросы с группировкой в Drupal»

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



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