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

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

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

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

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

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

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

Как зацепиться за редактор формы параграфа (paragraph)

Январь 25, 2022 г.

В Drupal 8 есть хорошая зацепка ко всей форме параграфа - hook_field_widget_WIDGET_TYPE_form_alter , а в семерке можно зацепляться за отдельные поля формы - hook_field_widget_form_alter. Рассмотрим примеры реализации этих зацепок. Drupal 7 ...

Читать

Проверка, что поле пустое в twig

Январь 28, 2022 г.

При переходе к Drupal 8/9 на twig шаблоны, часто возникает вопрос, как проверить что поле пустое. Наиболее точный ответ на мой взгляд помогает найти фильтр render, т.к. он позволяет получить результат рендера соответствующего поля, а не заниматься ...

Читать

Редирект после отправки формы в Drupal 8/9

Январь 22, 2022 г.

Для семерки можете посмотреть другую статью. Обычно правят поведение существующих форм через hook_form_alter, добавляя туда еще один обработчик submit. Специальный метод setRedirectUrl объекта FormStateInterface позволяет настроить адрес перенаправления. ...

Читать

Создание модуля в Drupal

Ноябрь 19, 2015 г.

Небольшой путеводитель по написанию модуля для Drupal 7. Любой "приличный" проект на drupal (да и в других CMS) требует как минимум трех вещей: Взять подходящую сборку drupal (с нужными модулями, установленным Wysiwyg редактором, русификацией); ...

Читать
 

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

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



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