我在TYPO3 7.6中有一个扩展,可以在后端中选择一个前端用户(单选)。在后端,我可以选择用户,而在数据库中,用户ID是正确的设置。但是,如果我在前端调试数据,则用户对象始终为“ null”。
我不知道这是怎么发生的,因为几个月前一切正常。也许我在某个地方改变了东西,但是我找不到,这是怎么回事。这里有一些错误:
在详细视图控制器上,我需要选定用户的uid,但出现错误:
Call to a member function getUid() on null
在前端用户可以添加一些新数据,并且设置了user-uid,但是我也遇到了错误:
#1297933823: Object of type TYPO3\CMS\Extbase\Domain\Model\FrontendUser with identity "257" not found.
ID为257的用户存在,并且没有被隐藏或删除,因为该ID来自已登录的用户(我由$ GLOBALS ['TSFE']-> fe_user-> user ['uid']获得)。
任何人都有一个主意,这可能是什么问题?
这里是根据型号设置的:
/**
* Returns the user
*
* @return \TYPO3\CMS\Extbase\Domain\Model\FrontendUser user
*/
public function getUser()
{
return $this->user;
}
/**
* Sets the user
*
* @param \TYPO3\CMS\Extbase\Domain\Model\FrontendUser $user
* @return void
*/
public function setUser(\TYPO3\CMS\Extbase\Domain\Model\FrontendUser $user)
{
$this->user = $user;
}
感谢您的帮助! 马丁
答案 0 :(得分:2)
我发现了问题...另一个扩展正在扩展feuser,并且扩展不是正确的设置。
答案 1 :(得分:0)
根据文档,您应该使用类型group
https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/Group.html#type-group。
您的TCA应该如下所示:
'user' => [
'label' => 'User',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'fe_users',
'foreign_table' => 'fe_users',
'minitems' => 0,
'maxitems' => 1,
],
],