我需要使用一些自定义字段创建自定义FE用户。 此外,它需要通过前端分配给不同的用户组。
您可以找到我的第一个方法here。没有做得那么好。
第二种方法是创建另一个扩展并遵循显示here的指南。
我做的第一件事是将\TYPO3\CMS\Extbase\Domain\Model\FrontendUser
添加到我的CustomFEU模型的Extend existing model class-field中。
然后我创建了另一个名为FEgroup的模型,并将其映射到表fe_groups
。之后,我将一个n:m关系连接到CustomFEU。
当我尝试使用new
操作创建新的CustomFEU时,它会在提交表单后返回一个空白页面,而不会添加任何用户。
我发现的唯一奇怪的事情是/Classes/Domain/Repository/
文件夹是空的。
TYPO3 7.6.8
虽然我还没有编辑文件,但它们是:
Model / Controller / Setup
有没有人遇到过类似的问题?
答案 0 :(得分:2)
首先,您需要创建处理新用户和用户组模型的存储库。
其次,您尝试使用$this->customFEURepository->add($newCustomFEU);
保存用户,并且变量customFEURepository不存在。注入它是最好的,它必须是您应该首先创建的存储库。你可以像这样注入它:
/**
* CustomFEUController
*/
class CustomFEUController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
/**
* @var \Vendor\Feregistration\Repository\CustomFEURepository
* @inject
*/
protected $customFEURepository;
// other code ...
}
添加注入注释后不要忘记清除系统缓存,否则无法正常工作。
最后但并非最不重要的是,我看不到映射到您的模型的数据库表。您需要将它添加到TypoScript(setup.txt)
config.tx_extbase.persistence.classes {
Vendor\Feregistration\Domain\Model\CustomFEU {
mapping {
recordType = 0
tableName = fe_users
}
}
Vendor\Feregistration\Domain\Model\FEGroups {
mapping {
recordType = 0
tableName = fe_groups
}
}
}