6

すべてのロール (System->Permission->Roles) とこのロールを持つユーザーのコレクションを取得するにはどうすればよいですか?

ありがとう。

4

3 に答える 3

12

すべてのロールを取得するには

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

役割ユーザーを取得するには

      $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;
于 2013-03-04T11:36:15.397 に答える
0

特定のユーザー ロールに属するすべての管理者ユーザーを選択する方法を探していたときに、この投稿に出会いました。(この回答この質問を参照してください。) ここでの質問は、アレックスが各ロールの管理者ユーザーを必要としているかのように読むことができます。答えは管理者の役割でソートされないため、次の解決策を提供したいと思います。

$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;
}
于 2017-08-17T15:03:01.380 に答える