Peran pengguna yang sedang masuk saat ini


18

Bagaimana cara mendapatkan peran pengguna yang saat ini masuk di Drupal 8?

Misalnya pada D7 yang kita miliki $GLOBALS['user']->roles;

Jawaban:


31

Sesuatu seperti:

$current_user = \Drupal::currentUser();
$roles = $current_user->getRoles();

akan mengembalikan array seperti:

Array
(
  [0] => authenticated
  [1] => administrator
  [2] => some_other_role
)

di mana nilai-nilai array adalah ID peran (setara dengan nama mesin peran di Drupal 7). Dalam kode OO, gunakan mekanisme yang sesuai untuk mendapatkan pengguna saat ini dari wadah, mis

$current_user = $container->get('current_user');

Jawaban yang bagus, bisakah Anda menambahkan kode $container?
Murid

@Pupil untuk mengakses wadah dalam konteks OO Anda harus membuat kelas Anda dan menggunakan injeksi dependensi untuk memanggilnya seperti yang ditunjukkan di sini misalnya drupal.org/docs/8/api/services-and-dependency-injection/…
wranvaud

0

Untuk mendapatkan peran pengguna saat ini di drupal 8 -

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
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.