Если в коде необходимо проверить авторизовался ли текущий пользователь, то можно использовать как минимум два подхода.
Глобальная переменная user
GLOBALS[‘user’] в Drupal хранит объект текущего пользователя, расширенного информацией о ролях пользователя. Для анонимов код такого пользователя равен нулю (uid = 0) и обладает соответствующей ролью — anonymous user.
|
|
if ($GLOBALS['user'] > 0) { // действия, касающиеся авторизованного пользователя } |
Функция API Drupal user_is_logged_in()
В Drupal API реализована специальная функция, которая выполняет проверку текущего пользователя, так что необходимости прямой проверки глобальной переменной user нет. Функция вызывается без каких либо параметров и возвращает boolean значение TRUE, если пользователь авторизовался на сайте, и FALSE — если мы имеем дело с анонимным пользователем.
|
|
if (user_is_logged_in()) { // действия, касающиеся авторизованного пользователя } |
Данная запись опубликована в 13.11.2017 17:43 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 3, 2010 г.
После установки, регистрационная форма друпала (drupal) имеет всего пару полей - login и email. В большинстве случаев это можно почитать за благо. Ибо ...
Читать
Сентябрь 8, 2021 г.
Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-698f37f14b71f726633013/]
Рендер ...
Читать
Июль 26, 2025 г.
Когда мы используем кеширование в Drupal, типичный подход — добавить user в список контекстов: ['user']. Это означает, что для каждого пользователя будет ...
Читать
Ноябрь 7, 2017 г.
При работе с private файлами в Drupal, можно использовать зацепку hook_file_download($uri), в которой вы можете реализовать проверку прав доступа к скачиваемому файлу. Но на входе функции - только uri, вместо fid, по которому было бы удобно вытащить всю ...
Читать