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

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

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

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

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

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

/admin/people/permissions/roles

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

Фиксим "Mismatched entity and/or field definitions" ошибку в Drupal

Октябрь 10, 2023 г.

Советы, которые дают по решению этой проблемы немного устарели, относятся обычно к 8й версии друпала и не работают в более новых версиях. Проблема ...

Читать

Создание связи во Views, используя поле entity_reference

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

Модуль View, Drupal 7. Задача: в контексте публикации (находясь на странице публикации) вывести с помощью модуля views публикации, связанные с текущей ...

Читать

Как получить FID по URI в Drupal?

Ноябрь 7, 2017 г.

При работе с private файлами в Drupal, можно использовать зацепку hook_file_download($uri), в которой вы можете реализовать проверку прав доступа к скачиваемому файлу. Но на входе функции - только uri, вместо fid, по которому было бы удобно вытащить всю ...

Читать

Дополняем результаты views

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

Пример того, как можно дополнить результаты views в Drupal 9/10. Задача - вывести для статьи блок со связанными публикациями. В начале нужно было просто выводить последние статьи того же типа, а потом у заказчика возникло желание переопределять выдачу, ...

Читать
 

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

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



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