Typo3 类型3设置fe_用户组
我有打字错误3版本7.6.18。我正在尝试通过代码创建用户。如何添加用户组?我看到它需要创建用户组对象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
$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()方法。