Typo3 类型3 FE用户分配给Feuser组
我正在以编程方式创建一个FEUser(工作正常),在第二步中,我想将这个FE用户分配给一个现有的FEUser组 我认为它工作得很好,但没有。在数据库中,条目被设置,计数器上升 但如果我在列表视图中检查用户组,则其中没有用户:( 我的代码如下所示:Typo3 类型3 FE用户分配给Feuser组,typo3,extbase,typo3-6.2.x,Typo3,Extbase,Typo3 6.2.x,我正在以编程方式创建一个FEUser(工作正常),在第二步中,我想将这个FE用户分配给一个现有的FEUser组 我认为它工作得很好,但没有。在数据库中,条目被设置,计数器上升 但如果我在列表视图中检查用户组,则其中没有用户:( 我的代码如下所示: $usergroup = $this->FrontendUserGroupRepository->findByUid($this->request->getArgument(self::USRGROUP)); $newFEUs
$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);
出什么问题了?我忘了什么了吗?不要使用
新对象
,而是使用TYPO3的对象管理器
。否则这将不起作用
$newFEUser=$this->objectManger->get(\Typo3\CMS\Extbase\Domain\Model\FrontendUser::class)
如果您的用户在sysfolder中,您必须为用户提供sysfolder的pid
。否则,您将无法在列表视图中看到任何用户。好的……我添加了injenction并重新安装,以便可以使用对象管理器,但您发布的代码无效……此行出错。呼叫成员函数get()在…
中的非对象上运行。我也尝试过:$newFEUser=$this->objectManager->get('\Typo3\CMS\Extbase\Domain\Model\FrontendUser');
可以正常工作,但不能解决问题好的。。如果我能为这两种方法都提供解决方案,我该如何处理呢?尝试$newFEUser->setPid($thePidOfyourSysfolderHere)
在您的代码中。但是我从何处获得sysfolder的PID?如果您的用户的PID为0,我认为您不能使用列表视图。因此,我将始终将您的记录存储在sysfolder中。必须设置PID!非常感谢!