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

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

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

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

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

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

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

Убрать копейки при выводе цены Drupal/Commerce

Май 16, 2021 г.

Сложно сейчас найти рублевые цены с копейками, но по умолчанию они выводятся в шаблонах. Давайте посмотрим как их убрать в случае настройки магазина построенного ...

Читать

Миграция картинки по URL в Media поле (Drupal)

Март 3, 2024 г.

Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID. Обработчики представляют из себя расширения ProcessPluginBase, которые нужно размещать в папке /src/Plugin/migrate/process вашего модуля. Файл ...

Читать

Сохранение медиа файлов после удаления последней связи с материалами

Апрель 20, 2018 г.

Drupal удаляет не используемые изображения. С одной стороны это правильная стратегия - зачем хранить картинки, файлы, которые уже не используются? С другой стороны есть причины, когда их требуется сохранить. Вот хотя бы две: SEO-шникам важно, ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать
 

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

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



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