Як дізнатися, чи є користувач відвідувачем або зареєстрованим членом?


30

Як я можу програмно визначити, чи є поточний користувач анонімним або автентифікованим?

Відповіді:


57

Для більш надійного та описового коду можна скористатися зручним User::isAnonymous()методом, наприклад

if (\Drupal::currentUser()->isAnonymous()) {
  // Anonymous user...
}

2
По можливості використовуйте такі методи: програмуйте на інтерфейс, а не на реалізацію. Використання IDE без заповнення коду безцінне для роботи з Drupal 8.
mpdonadio

3
Для всіх, хто стикається з цим, зверніть увагу, що \ Drupal :: currentUser () -> isAuthentication () є еквівалентом D7 user_is_logged_in ()
Jaypan

Я створив спеціальний модуль, і я не можу змусити цю функцію працювати. Чи потрібно щось додаткове додати в модулі? Спасибі заздалегідь.
SuperTony


-4

Ви можете використовувати цей код:

global $user;
if ($user->uid == 0) {
  //user is not logged in
}else{
  //user is logged in
}

2
Drupal код працює для Drupal 7, але не для Drupal 8
Dev

1
Так і використовуйте === для суворого порівняння і поставте пробіл до і після ваших ще для стандартів кодування: /
klidifia
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.