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» от лица текущего пользователя:

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

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

Меню в виде SELECT в Drupal 7

Февраль 1, 2017 г.

Drupal обладает развитым набором инструментов с menu, т.к. меню - это одна из составляющих частей Drupal API. Хотя модуль Menu, входящий в состав ядра, ...

Читать

Как в Drupal 9 получить URL изображения, сохраненного в поле media

Июль 27, 2021 г.

Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal. Предполагается, что вы уже загрузили entity с полем типа media (в примере называется - field_media) в какую то ...

Читать

CKEditor не включается в при загрузке страницы

Август 30, 2018 г.

Редактор подключен и настроен, но почему то не включается при загрузке страницы. Как быть? Если вы уверены, что все настроено верно, а именно: ...

Читать

Ctools modal закрытие при клике вне модального окна

Июнь 28, 2019 г.

Привычное для пользователей поведение модального окна изначально не реализовано в ctools. Давайте добавим немного js, реализующего нужный функционал. Код универсален для модального окна создаваемого ctools, т.к. привязан к верстке окна: [crayon-69a9437f24612251850866/] ...

Читать
 

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

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



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