Как проверить роль пользователя (user role) в Drupal 7?

Модуль user предоставляет довольно неудобную функцию, которая проверяет роль пользователя по Role-ID, а не по названию роли.

Код и описание функции (из /modules/user/user.module):

Проблема в том, что роли пользователей имеют суррогатный числовой ключ, по которому и производится сравнение. Было бы удобнее работать в данном случае с ключом — стоковой константой. Говорят, в 8ке это уже изменили.

Для 7ки можно использовать свой вариант функции (добавьте в ваш модуль или статический класс):

Эта функция принимает для проверки имя роли.

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

Ошибка в Drupal Adding non-existent permissions to a role is not allowed. The incorrect permissions are "..."

Июль 25, 2023 г.

Такое иногда вылазит как следствие удаления кастомных классов/модулей, создающих собственные права или инициализирующие права через родительский модуль. Как это пофиксить? Права из роли не были удалены штатно, потому придется сделать следующее: ...

Читать

Drupal и hook_install

Январь 19, 2010 г.

(ремарка : речь идет о 6-й версии drupal) Если вам иногда приходится писать модули для Drupal, или вы вдруг этим только решили заняться, то однажды вы, возможно, захотите написать код модуля полностью соответствующий спецификациям и рекомендациям drupal.org. ...

Читать

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

Ноябрь 9, 2016 г.

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

Читать

Генерация JWT токена в Drupal

Июль 30, 2023 г.

Модуль jwt реализует REST аутентификацию, настройку ключа и многое другое. Небольшой спиппет как сгенерировать и отправить jwt с собсвенной нагрузкой. Передадим токен, в котором полезной нагрузкой будет ID пользователя. А время жизни токена - 1 ...

Читать
 

Комментарии к «Как проверить роль пользователя (user role) в Drupal 7?»

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



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