वर्तमान में उपयोगकर्ता की भूमिकाओं में लॉग इन किया


18

Drupal 8 में उपयोगकर्ता की भूमिकाओं में वर्तमान में लॉग इन कैसे करें?

उदाहरण के लिए D7 में हमारे पास है $GLOBALS['user']->roles;

जवाबों:


31

कुछ इस तरह:

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

एक सरणी लौटाएगा जैसे:

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

जहाँ एरे मान रोल आईडी हैं (ड्रुपल 7 में भूमिका के मशीन नाम के बराबर)। OO कोड में, उपयुक्त तंत्र का उपयोग करें कंटेनर से वर्तमान उपयोगकर्ता प्राप्त करें, जैसे

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

अच्छा जवाब, क्या आप कृपया इसके लिए कोड जोड़ सकते हैं $container?
पुपिल

@ OO संदर्भ में कंटेनर तक पहुँचने के लिए आपको अपनी कक्षा बनानी चाहिए और निर्भरता इंजेक्शन का उपयोग करके इसे कॉल करना चाहिए जैसा कि यहाँ दिखाया गया है उदाहरण के लिए drupal.org/docs/8/api/services-and-d
dependency

0

ड्रुपल 8 में वर्तमान उपयोगकर्ता भूमिका पाने के लिए -

$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
   $role = $value;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.