Проверить заданный permission у пользователя в Drupal

В Drupal (7) новые флажки — права пользователей добавляются через hook модуля MODULENAME_permission.

В зацепке вы формируете массив описаний прав, который возвращаете при выходе из функции. Пример:

После того, как вы создали в своём модуле дополнительные права (permissions), в коде вы можете использовать функцию API user_access() для проверки флажка.

Если требуется проверить не текущего пользователя, а какого то другого, то объект $user, нужно передать вторым параметром в user_access().

Система прав в Drupal построена на основе ролей, права выдаются не напрямую пользователям, а в соответствии с их ролями. Потому чтобы выдать permissions пользователю, надо отредактировать набор прав выданной ему роли.

/admin/people/permissions/roles

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

Вывод результатов формы в саму форму после submit

Март 2, 2017 г.

Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами. Первый вариант почти всегда выглядит неказисто, ...

Читать

Возможные проблемы Invalid form POST data

Октябрь 24, 2019 г.

Браузер сообщает об ошибке всплывающим окном вроде того, что на скриншоте. Сообщается, что AJAX завершен неправильно. Но основной симптом - что не работают ...

Читать

HTML email в Drupal 9

Май 24, 2021 г.

Для отправки писем, Drupal 9 использует реализации интерфейса MailInterface (core/lib/Drupal/Core/Mail/MailInterface.php). И в коробке сразу же имеется ...

Читать

Сохранение файла, полученного через форму в Drupal

Февраль 17, 2024 г.

Вы создали форму с полем типа file, и хотите сохранять файл как сущность друпала при отправке данных формы. [crayon-69acaf5e22472143074113/] Обычно объявления форм в Drupal 8+ размещаются в виде расширений класса FormBase в каталоге модуля /scr/Form/*. ...

Читать
 

Комментарии к «Проверить заданный permission у пользователя в Drupal»

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



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