We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3749
    • 24,544 Posts
    I want to create a user setting (tree_root_id) in a plugin attached to OnUserFormSave, but can’t figure it out beyond

    $setting= $modx->newObject('modUserSetting');


    Would it be as simple as this:

    $setting->set('setting_name','tree_root_id');
    $setting->set('setting_value', $v);
    $setting->save();


    Somehow I doubt it, since I haven’t specified which user.
      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
      • 3749
      • 24,544 Posts
      Not getting anywhere with this. The added field in the form works and it’s value is available here.

      With this code, the setting is created but the user ID is 0 and the key is blank (other fields, including the value, are correct):

          case 'OnUserFormSave':
             
              $user = $id;
              if (! empty($_POST['TreeRoot'])) { $userSetting = $modx->newObject('modUserSetting', array(
                 $userSettiing->set('user'=>$user),
                 $userSettiing->set('key'=>'tree_root_id'),
                 $userSettiing->set('value'=>$_POST['TreeRoot']),
                 $userSettiing->set('namespace'=>'core'),
                  ));
                  $userSetting->save();
              }
      
      


      This code just hangs when you save the form (the "saving" progress bar never goes away). The setting is not created.
      case ’OnUserFormSave’:

              $user = $id;
              if (! empty($_POST['TreeRoot'])) { $userSetting = $modx->newObject('modUserSetting');
                 $userSettiing->set('user',$user);
                 $userSettiing->set('key','tree_root_id');
                 $userSettiing->set('value',$_POST['TreeRoot']);
                 $userSettiing->set('namespace','core');
                  $userSetting->save();
              }
            
              break;
      
        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
        • 3749
        • 24,544 Posts
        Doh. Misspelled "setting" in the variable names.


                   $setting =& $modx->newObject('modUserSetting');
                   $setting->set('user',$id);
                   $setting->set('key','tree_root_id');
                   $setting->set('value',$_POST['TreeRoot']);
                   $setting->set('namespace','core');
                   $setting->save();
          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