2013-03-04 19 views

Antwort

12

alle Rollen

 $roles = Mage::getModel('admin/roles')->getCollection(); 
     foreach($roles as $role): 
      echo '<br/>Role : '.$role->getId()." | ".$role->getRoleName(); 
     endforeach; 

Um die Rolle Benutzer

 $roles_users = Mage::getResourceModel('admin/roles_user_collection'); 
     foreach($roles_users as $roleuser): 
     $user = Mage::getModel('admin/user')->load($roleuser->getUserId()); 
     echo '<br/>User : '.$user->getUsername()." | ".$user->getFirstname(); 
     endforeach; 
+0

Vielen Dank! Vielleicht kannst du jetzt auch wie man Benutzer mit diesen Rollen bekommt? :) – Alex

+0

@AlexK bitte finden Sie meine aktualisierte Antwort ;-) Lassen Sie mich wissen, wenn Sie irgendwelche Zweifel haben. – Haijerome

+0

Vielen Dank! Es hat super funktioniert! – Alex

3

Sie können auch alle Rollen Benutzer-IDs mit diesem

$roles = Mage::getModel('admin/roles')->load($roleId)->getRoleUsers(); 
0

Ich kam in diesem Beitrag erhalten zu bekommen bekommen als ich nach einer Möglichkeit suchte, alle Admin-Benutzer auszuwählen, die zu einer bestimmten Benutzerrolle gehören. (Siehe this answer und this question.) Die Frage könnte hier so gelesen werden, als ob Alex die Admin-Benutzer für jede Rolle haben möchte. Da die Antwort nicht nach Administratorrolle sortiert ist, möchte ich folgende Lösung anbieten:

$usersByRole = array(); 
$adminRoles = Mage::getModel('admin/roles')->getCollection(); 
foreach($adminRoles as $adminRole) { 
    $adminRoleId = $adminRole->getId(); 
    $adminRoleUserCollection = Mage::getModel('admin/role')->getCollection() 
     ->addFieldToFilter('parent_id', ['eq'=>$adminRoleId]) 
     ->join(['user' => 'admin/user'], 'user.user_id=main_table.user_id'); 
    $usersByRole[$adminRole->getRoleName()] = $adminRoleUserCollection; 
} 
Verwandte Themen