Ich habe ein Registrierungsformular, mit dem sich ein Benutzer registrieren kann. Wenn sie sich registrieren, möchte ich sie automatisch zu einer Gruppe hinzufügen. Ich habe versucht, die $member->AddToGroupByCode('Administrators')
Methode zu verwenden, aber dies fügt dem Mitglied keine Gruppen hinzu.Mitglieder zu einer Gruppe hinzufügen, wenn sie registriert werden?
Was mache ich falsch?
RegisterForm.php
<?php
class RegisterForm extends Form {
public function __construct($controller, $name) {
$fields = new FieldList(
TextField::create('FirstName'),
TextField::create('Surname'),
TextField::create('Email'),
PasswordField::create('Password'),
PasswordField::create('ConfirmPassword'),
TextField::create('Username')
);
$actions = new FieldList(
new FormAction('doRegister', 'Register')
);
$validator = new RequiredFields(
'Email', 'Password', 'ConfirmPassword', 'Username'
);
parent::__construct($controller, $name, $fields, $actions, $validator);
$this->disableSecurityToken();
}
public function doRegister($data, $form) {
$member = new Member();
$form->saveInto($member);
$password = $data['Password'];
$member->changePassword($password);
$member->addToGroupByCode('Administrators') // Or could be another group I setup e.g 'Students' etc;
$member->write();
return $this->controller->redirect($this->controller->Link('thanks'));
}
}
Versuchen Sie $ member-> addToGroupByCode ('Administrators') hinter $ member-> write(); –
@GavinBruce - Ich habe das gerade versucht, und nein hat nicht funktioniert. – ifusion
Versuchen Sie Administratoren anstatt Administratoren. –