Typo3 类型3设置fe_用户组

Typo3 类型3设置fe_用户组,typo3,Typo3,我有打字错误3版本7.6.18。我正在尝试通过代码创建用户。如何添加用户组?我看到它需要创建用户组对象 $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $newUser = $this->objectManager->get('Fhk\\Feusersplus

我有打字错误3版本7.6.18。我正在尝试通过代码创建用户。如何添加用户组?我看到它需要创建用户组对象

$this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
            $newUser = $this->objectManager->get('Fhk\\Feusersplus\\Domain\\Repository\\UserRepository');

$userModel = $this->objectManager>get('Fhk\\Feusersplus\\Domain\\Model\\User');

$userGroup = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();

$userModel->setUsername("sdfdsfdsfs");
$userModel->setEmail($user_data['email']);
$gender = 0;
$password = rand(99999999,9999999999999);
$userModel->setPassword($password);

$userModel->setUsergroup($userGroup);
$newUser->add($userModel);
我认为用户没有添加到数据库,因为我没有设置用户组。(请帮帮我)

我已更正了代码,但未将用户添加到数据库:

 $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
            $newUser = $this->objectManager->get('Fhk\\Feusersplus\\Domain\\Repository\\UserRepository');

                $userModel = $this->objectManager->get('Fhk\\Feusersplus\\Domain\\Model\\User');
                $userGroup = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserGroupRepository');

                $userGroup = $userGroup->findByUid(1);
                $newUserGroup = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
                $newUserGroup->attach($userGroup);

            $userModel->setUsername("sdfdsfdsfs");
                $userModel->setEmail($user_data['email']);
                $gender = 0;
                $password = rand(99999999,9999999999999);
                $userModel->setPassword($password);
                $userModel->setPid(3);
                $userModel->setUsergroup($newUserGroup);

                $newUser->add($userModel);

你差不多完成了。您需要一个
UserGroupRepository
来检索所需的用户组,并执行
$userGroup->attach($yourUserGroup)
尝试以下操作

$this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$newUser = $this->objectManager->get('Fhk\\Feusersplus\\Domain\\Repository\\UserRepository');

$userModel = $this->objectManager->get('Fhk\\Feusersplus\\Domain\\Model\\User');
$userGroup = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserGroupRepository');

$userGroup = $this->FrontendUserGroupRepository->findByUid(1);

$userModel = new \Typo3\CMS\Extbase\Domain\Model\FrontendUser();

$userModel->setUsername("sdfdsfdsfs");
$userModel->setEmail($user_data['email']);
$gender = 0;
$password = rand(99999999,9999999999999);
$userModel->setPassword($password);
$userModel->setPid(3);
$userModel->addUsergroup($userGroup);

$this->FrontendUserRepository->add($userModel);

谢谢,好像是我加的那个组。但用户并没有添加到数据库中,我更新了我的帖子。你能帮我吗?创建和修改的Extbase对象只是暂时的。如果您不在createAction()或updateAction()中,则必须手动保存更改。您基本上需要一个\TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager的实例来调用persistAll()方法。