Если в коде необходимо проверить авторизовался ли текущий пользователь, то можно использовать как минимум два подхода.
Глобальная переменная 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июнь 19, 2026 г.
Когда прав очень много, не удобно смотреть через админку, что же там выдано в роли. Особенно, если роль точечно добавляет несколько разрешений.
Вот небольшой спиппет кода, который выводит список разрешений (permissions) для указанной роли.
[crayon-6ae114b8beb7a334562450/] ...
Читать
Май 16, 2024 г.
Порою требуется добавить свои классы в переменную attributes на уровне шаблона (в twig).
Переменная attributes - это объект Drupal\Core\Template\Attribute. У него есть нужный нам метод - addClass().
Пример использования:
[crayon-6ae114b8bed2c409211868/]
Читать
Сентябрь 8, 2021 г.
Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-6ae114b8bedf9321562463/]
Рендер ...
Читать
Февраль 7, 2019 г.
Если вы решили вывести блок, реализованный в каком либо модуле, программно, то следующие примеры кода помогут вам.
Используя block API
Запрашиваем данные блока через API, готовим массив для последующего рендеринга:
[crayon-6ae114b8beec8356407445/] ...
Читать