Typo3 FE 用户分配给 FEUserGroup

Typo3 FE User assign to FEUserGroup

我在第二步中以编程方式创建一个 FEUser(工作正常)我想将此 FE 用户分配给现有的 FEUsergroup。

我认为它工作正常,但事实并非如此。在数据库中设置条目并且计数器上升。

但是如果我在列表视图中检查用户组,里面没有用户:(

我的代码如下所示:

$usergroup = $this->FrontendUserGroupRepository->findByUid($this->request->getArgument(self::USRGROUP));

$newFEUser = new \Typo3\CMS\Extbase\Domain\Model\FrontendUser();
$newFEUser->setUsername($this->userfunctions->genuserNAME($newPruefling->getVorname(), $newPruefling->getNachname()));
$randomPW = $this->passfunctions->genpassword();
$saltedPW = $this->passfunctions->hashPassword($randomPW);
$newFEUser->setPassword($saltedPW);
$newFEUser->setNAME($randomPW);
$newFEUser->setFirstNAME($newPruefling->getVorname());
$newFEUser->setLastNAME($newPruefling->getNachname());
$newFEUser->setEmail($this->request->getArgument(self::EMAIL));

// Wenn Usergroup vorhanden dann wird diese gesetzt.
$newFEUser->addUsergroup($usergroup);

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

怎么了?我是不是忘记了什么?

不使用new object而是使用TYPO3的ObjectManager。否则这将不起作用。

$newFEUser = $this->objectManger->get(\Typo3\CMS\Extbase\Domain\Model\FrontendUser::class);

如果您的用户位于 sysfolder 中,则必须为您的用户提供 sysfolder 的 pid。否则您将不会在您的列表视图中看到任何用户。