Php 如何使用femanager进行更新(类型3)?

Php 如何使用femanager进行更新(类型3)?,php,typo3,typo3-9.x,typo3-extensions,Php,Typo3,Typo3 9.x,Typo3 Extensions,我正在做一个项目,我的任务是:设置一个页面来编辑我的用户帐户信息。为此,我必须使用TYPO3扩展femanager 我安装了扩展并将插件放在我的页面上。我有4个显示字段(照片、电话号码和电子邮件)。但当我提交表格时,我有一个错误: 第2项论点已转交立法局 In2code\Femanager\Utility\FrontendUtility::forceValues()必须为 在中调用了类型数组(给定为null) /home/dev/rta/htdocs/typo3conf/ext/femanage

我正在做一个项目,我的任务是:设置一个页面来编辑我的用户帐户信息。为此,我必须使用TYPO3扩展femanager

我安装了扩展并将插件放在我的页面上。我有4个显示字段(照片、电话号码和电子邮件)。但当我提交表格时,我有一个错误:

第2项论点已转交立法局 In2code\Femanager\Utility\FrontendUtility::forceValues()必须为 在中调用了类型数组(给定为null) /home/dev/rta/htdocs/typo3conf/ext/femanager/Classes/Controller/EditController.php 第69行

我试图在互联网上寻找有类似问题的人,但什么也找不到。我查看了代码,但由于它是基本扩展代码,我认为这不是问题的根源。用户存储在我的数据库中的fe_users表中,字段很好地预先填充了我的现有数据

我3周前才学会打字3,所以我有很多空白,我还不太熟悉

如果有帮助,下面是我的EditController.php(第66到79行):

公共函数更新操作(用户$User)
{
$this->redirectIfDirtyObject($user);
$user=FrontendUtility::forceValues($user$this->config['edit.]['forceValues.]['beforeAnyConfirmation.]]);
$this->emailForUsername($user);
UserUtility::convertPassword($user,$this->设置['edit']['misc']['passwordSave']);
$this->signalSlotDispatcher->dispatch(_类,_函数,'beforepsist',[$user,$this]);
如果(!empty($this->settings['edit']['confirmByAdmin'])){
$this->updateRequest($user);
}否则{
$this->updatealconfirm($user);
}
$this->redirect('edit');
}
这是我的FrontendUtility类(在第69行的EditController中使用):

公共静态函数强制值(用户$User,数组$settings)
{
foreach((数组)$设置为$字段=>$config){
$config=null;
if(stristr($field,'.')){
继续;
}
//要设置的值
$value=self::getContentObject()->cObjGetSingle($settings[$field],$settings[$field..'.]);
如果($field=='usergroup'){
//用户组字段需要objectstorage
$user->removeAllUsergroups();
$values=GeneralUtility::trimExplode(',',$value,true);
$userGroupRepository=self::getUserGroupRepository();
foreach($usergroupUid形式的值){
/**@var UserGroup$UserGroup*/
$usergroup=$userGroupRepository->findByUid($usergroupUid);
$user->addUsergroup($usergroup);
}
}否则{
//设定值
如果(方法_存在($user,'set'.ucfirst($field))){
$user->{'set'.ucfirst($field)}($value);
}
}
}
返回$user;
}
如果有人有主意,我很感兴趣


PS:我使用TYPO3 v9.5.8

因为我们可以看到第二个参数尝试从静态TS配置读取,您是否在页面级别包含此ext中所有必需的TSE,并在这些配置中进行了所有必需的更改?@biesior,我收到一条消息“未找到任何TypoScript。您是否已经包含静态模板?”所以我认为这是相关的,但我不知道我可能忘记了什么。我刚刚通过扩展管理器安装了ext,并将插件放在我的页面上。我无法访问扩展管理器中的配置,我不知道是否有必要“这就是我要说的,你需要进入模块Web>模板>带有模板的页面>信息/修改>编辑整个记录>包括选项卡,并确保femanager TS添加到tle左窗格中。这是打字3中的常见错误,请搜索网络,很可能你会找到一些带有截图和更多细节的文章。喜欢或者哦,是的,它很有效!非常感谢你!