Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 类型3 FE用户分配给Feuser组_Typo3_Extbase_Typo3 6.2.x - Fatal编程技术网

Typo3 类型3 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

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

我认为它工作得很好,但没有。在数据库中,条目被设置,计数器上升

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

我的代码如下所示:

$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!非常感谢!