私はユーザーが登録できる登録フォームを持っています。彼らが登録するとき、私はそれらをグループに自動的に追加したい。 $member->AddToGroupByCode('Administrators')
メソッドを使用しようとしましたが、これはメンバーにグループを追加しません。登録時にメンバーをグループに追加していますか?
私は間違っていますか?
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'));
}
}
$ member-> write()の後に$ member-> addToGroupByCode( 'Administrators')を入れてみてください。 –
@GavinBruce - ちょうどそれを試して、うまくいきませんでした。 – ifusion
管理者ではなく管理者にお試しください。 –