Если в коде необходимо проверить авторизовался ли текущий пользователь, то можно использовать как минимум два подхода.
Глобальная переменная 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 22, 2015 г.
Несколько лет назад, когда решил попробовать 7ю версию drupal, я создал сайт wbserv.ru. Тогда только начали предлагать разные облачные услуги, это показалось ...
Читать
Октябрь 18, 2023 г.
Сущность возвращает язык в контексте выбранного языка, но иногда нужно получить оригинальный язык node или другой entity.
Вот так выглядит запрос в контексте:
[crayon-6ae169e5e76ea005794690/]
А так можно получить код языка оригинальной версии ...
Читать
Июль 19, 2025 г.
При работе с таксономией в Drupal нередко возникает потребность отображать термины по-разному в зависимости от контекста. Например, один и тот же термин в режиме teaser должен выводиться компактно, а в режиме full — с подробным описанием.
Если вы используете ...
Читать
Август 5, 2021 г.
В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет.
Чтобы получить примерно тот же функционал придется ...
Читать