Làm cách nào tôi có thể thu thập tất cả các vai trò (System-> Permission-> Roles) và người dùng có vai trò này?Magento: nhận vai trò và người dùng
Cảm ơn.
Làm cách nào tôi có thể thu thập tất cả các vai trò (System-> Permission-> Roles) và người dùng có vai trò này?Magento: nhận vai trò và người dùng
Cảm ơn.
Để 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;
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();
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 answer và this 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ả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
@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
Cảm ơn rất nhiều! Nó hoạt động rất tốt! – Alex