We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 8425
    • 159 Posts
    Hi,
    I'm trying to add a user to a modUserGroup 'TestGroup' and then I want to add the role "Member" to that group programmatically. I can add users to the usergroup 'TestGroup' but I cannot set its role.
    What am I doing wrong? Here is my code snippet. I'm using MODX Rev 2.1.5
    Thanks in advance for your help.

    $userId = $user->get('id');							  					
    $group = $modx->getObject('modUserGroup',array('name'=> 'TestGroup'));
    $groupId = $group->get('id');
    $member = $modx->newObject('modUserGroupMember');				
    $member->set('user_group',$groupId);
    $member->set('member',$userId);
    $member->set('role','Member');
    $group->addMany($member);					
    $group->save();
    
      • 3749
      • 24,544 Posts
      Try this:

      $user->joinGroup('TestGroup', 'Member');


      A little less code. wink


      ---------------------------------------------------------------------------------------------------------------
      PLEASE, PLEASE specify the version of MODX you are using . . . PLEASE!
      MODX info for everyone: http://bobsguides.com/modx.html

        Did I help you? Buy me a beer
        Get my Book: MODX:The Official Guide
        MODX info for everyone: http://bobsguides.com/modx.html
        My MODX Extras
        Bob's Guides is now hosted at A2 MODX Hosting
        • 8425
        • 159 Posts
        Perfect thanks.
        Also one could use the id instead of the name to set the role it seems.
        $member->set('role',1);
          • 3749
          • 24,544 Posts
          Yes, you can also use this if you know the IDs of both the group and the role. This would be slightly faster:

          $user->joinGroup(12, 1);


          Be sure *not* to put the numbers in quotes.


          ---------------------------------------------------------------------------------------------------------------
          PLEASE, PLEASE specify the version of MODX you are using . . . PLEASE!
          MODX info for everyone: http://bobsguides.com/modx.html
            Did I help you? Buy me a beer
            Get my Book: MODX:The Official Guide
            MODX info for everyone: http://bobsguides.com/modx.html
            My MODX Extras
            Bob's Guides is now hosted at A2 MODX Hosting