Drupal flag модуль — некоторые элементы API

Очередная шпаргалка по Drupal, рассматриваем функции API модуля flag, для вызова их из кода программы PHP.

Вы можете найти много материалов, посвященных настройке плагина flag, работе с ним из админки, но совсем мало — описанию функций API.

Примеры кода даны для Drupal 7, версия плагина Flag 3.7, версия API — 3.

Получить флаги установленные пользователем

Ищем флаги конкретного пользователя, для конкретного объекта или группы объектов.

Пример выбора флагов для конкретной публикации, установленных текущим пользователем:

Если пользователь не авторизирован, то drupal различает их по коду сессии, т.е. разные анонимы могут выставлять свои флаги.

Вывод флага в шаблон

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

Указывать тип сущности не требуется, т.к. флаг привязывается к конкретному типу, достаточно указать только entity_id.

Установить/сбросить флаг

Если логика вашей программы требует установить или сбросить флаг, то воспользуйтесь функцией:

Параметр $action может принимать два значения — ‘flag’ или ‘unflag’. Если учетка (account) не указана, то будет использован текущий пользователь.

Устанавливаем некий флаг «marker» от лица текущего пользователя:

и сбрасываем этот флаг:

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

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

Ноябрь 15, 2019 г.

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

Читать

Вставляем объект views в нужное место шаблона средствами PHP

Сентябрь 9, 2016 г.

Мощный, всепоглощающий, великий и ужасный модуль VIEWS. Очень коварный, он толкает программиста с пути "только хардкор" и разработки на PHP на скользкую ...

Читать

Как добавить css классы в attributes (twig, Drupal)

Май 16, 2024 г.

Порою требуется добавить свои классы в переменную attributes на уровне шаблона (в twig). Переменная attributes - это объект Drupal\Core\Template\Attribute. У него есть нужный нам метод - addClass(). Пример использования: [crayon-694c1fd53b472670180668/]

Читать

Применение системы контроля версий к проектам на Drupal

Октябрь 16, 2017 г.

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

Читать
 

Комментарии к «Drupal flag модуль — некоторые элементы API»

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



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