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

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

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

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

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

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

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

Поддержка сайта на Drupal: зачем это нужно и как я с этим работаю

Май 21, 2025 г.

Drupal — мощная и гибкая система управления сайтом. Но без регулярной поддержки даже самый хорошо сделанный проект может прийти в запустение. В этой статье ...

Читать

Загрузка файла через форму в Drupal

Май 19, 2023 г.

Посмотрим как получить непосредственный доступ к файлу без загрузки файла в хранилище, при его загрузке в поле типа "file" Form API. Много гайдов посвящено тому как использовать поле managed_file, а для unmanaged случая считается, что разработчик ...

Читать

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

Июль 25, 2023 г.

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

Читать

Отправляем письмо из Drupal 7 в формате HTML

Июнь 24, 2011 г.

Разработчики решили в drupal 7 по умолчанию сделать отправку писем в формате plain text. Довольно неожиданный ход. Фактически, когда вы вызываете drupal_mail, на последнем этапе вызывается функция форматирования письма и там уже удаляются все html теги. ...

Читать
 

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

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



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