В моем проекте уже настроены две группы: «продавец-счет» и «покупатель-счет» в моем плагине пользователя.Я немного покопался и обнаружил, что для добавления пользователей в уже настроенные группы при регистрации мне нужно создать простой плагин, который расширяет пользовательскую модель в ее методе загрузки, а затем прослушивать событие rainlab.user.activate
и просто добавлять нового активированного пользователя.в группу, которую я хочу.Ниже показано, как мой код выглядит в моем новом плагине.
use Rainlab\User\Models\User as UserModel
public function boot()
{
// extend user model with addUserGroup method
UserModel::extend(function($model) {
$model->addDynamicMethod('addUserGroup', function($group) use ($model) {
if ($group instanceof Collection) {
return $model->groups()->saveMany($group);
}
if (is_string($group)) {
$group = UserGroup::whereCode($group)->first();
return $model->groups()->save($group);
}
if ($group instanceof UserGroup) {
return $model->groups()->save($group);
}
});
});
// assign desired group to newly activated user
Event::listen('rainlab.user.activate', function($user) {
$user->addUserGroup(UserGroup::whereCode('seller-account')->first());
});
Event::listen('rainlab.user.activate', function($user) {
$user->addUserGroup(UserGroup::whereCode('buyer-account')->first());
});
}
У меня есть две регистрационные формы для обеих групп, одна из которых имеет дополнительное поле.Как мне указать в этих формах, чтобы она знала группу для отправки своего контента?Или есть другой способ сделать это?