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
。否则您将不会在您的列表视图中看到任何用户。
我在第二步中以编程方式创建一个 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
。否则您将不会在您的列表视图中看到任何用户。