Jak mogę uzyskać kolekcję wszystkich ról (System-> Permission-> Roles) i użytkowników, którzy pełnią tę rolę?Magento: otrzymuj role i użytkowników
Dzięki.
Jak mogę uzyskać kolekcję wszystkich ról (System-> Permission-> Roles) i użytkowników, którzy pełnią tę rolę?Magento: otrzymuj role i użytkowników
Dzięki.
Aby uzyskać wszystkie role
$roles = Mage::getModel('admin/roles')->getCollection();
foreach($roles as $role):
echo '<br/>Role : '.$role->getId()." | ".$role->getRoleName();
endforeach;
Aby użytkownicy Role
$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;
Można również uzyskać wszystkie identyfikatory użytkowników rola tej
$roles = Mage::getModel('admin/roles')->load($roleId)->getRoleUsers();
natknąłem tego posta kiedy szukałem sposobu na wybranie wszystkich administratorów należących do określonej roli użytkownika. (Patrz this answer i this question.) Pytanie tutaj może być czytane tak, jakby Alex chciał, aby administratorzy używali każdej roli. Ponieważ odpowiedź nie jest sortowana według roli administratora, chciałbym zaoferować następujące rozwiązanie:
$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;
}
Dzięki! Może także teraz, jak zdobyć użytkowników za pomocą tych ról? :) – Alex
@AlexK uprzejmie znajdź moją zaktualizowaną odpowiedź ;-) Daj mi znać, jeśli masz jakiekolwiek wątpliwości. – Haijerome
Wielkie dzięki! Udało się świetnie! – Alex