Bagaimana tahu apakah pengguna adalah pengunjung atau anggota yang dicatat?


30

Bagaimana saya bisa menentukan secara program apakah pengguna saat ini anonim atau dikonfirmasi?

Jawaban:


57

Demi kode yang lebih kuat dan deskriptif, Anda dapat menggunakan User::isAnonymous()metode praktis , misalnya

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

2
Kapan pun memungkinkan, gunakan metode seperti ini: program ke antarmuka bukan implementasinya. Menggunakan IDE dengan penyelesaian kode tidak ternilai untuk pekerjaan Drupal 8.
mpdonadio

3
Untuk siapa pun yang menemukan ini, perhatikan bahwa \ Drupal :: currentUser () -> isAuthenticated () adalah setara dengan D7 user_is_logged_in ()
Jaypan

Saya membuat modul khusus dan saya tidak bisa menjalankan fungsi ini. Apakah ada sesuatu tambahan yang perlu saya tambahkan di modul saya? Terima kasih sebelumnya.
SuperTony

6
  $current= \Drupal::currentUser();
  if (!$current->id()) {
    // is visitor
  }
  else {
    // is logged
  }

-4

Anda dapat menggunakan kode ini ::

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

2
Kode Drupal bekerja untuk Drupal 7, tetapi tidak dalam Drupal 8
Dev

1
Ya dan gunakan === untuk perbandingan yang ketat dan beri spasi sebelum dan sesudah yang lain untuk standar pengkodean: /
klidifia
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.