2013-03-04 37 views

Trả lời

12

Để có được tất cả các vai trò

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

Để có được những người sử dụng Vai trò

 $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

Cảm ơn! Có lẽ bạn cũng bây giờ làm thế nào để có được người dùng với vai trò này? :) – Alex

+0

@AlexK vui lòng tìm câu trả lời cập nhật của tôi ;-) Hãy cho tôi biết nếu bạn có bất kỳ nghi ngờ nào với điều này. – Haijerome

+0

Cảm ơn rất nhiều! Nó hoạt động rất tốt! – Alex

3

Bạn cũng có thể nhận được tất cả id vai trò người dùng với điều này

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

Tôi đã xem qua bài viết này khi tôi tìm cách chọn tất cả người dùng quản trị thuộc về vai trò người dùng cụ thể. (Xem this answerthis question.) Câu hỏi ở đây có thể được đọc như thể Alex muốn người dùng quản trị cho từng vai trò. Vì câu trả lời không sắp xếp theo vai trò quản trị, tôi muốn cung cấp giải pháp sau:

$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; 
} 
Các vấn đề liên quan