Typo3 获取前端用户组列表
我已尝试获取所有前端用户组的列表 我试过这个:Typo3 获取前端用户组列表,typo3,extbase,typo3-6.2.x,Typo3,Extbase,Typo3 6.2.x,我已尝试获取所有前端用户组的列表 我试过这个: /** * Protected Variable FrontendUserGroupRepository wird mit NULL initialisiert. * * @var \ReRe\Rere\Domain\Repository\FrontendUserGroupRepository * @inject */ protected $FrontendUserGroupRepository = NULL; 然后这个 $f
/**
* Protected Variable FrontendUserGroupRepository wird mit NULL initialisiert.
*
* @var \ReRe\Rere\Domain\Repository\FrontendUserGroupRepository
* @inject
*/
protected $FrontendUserGroupRepository = NULL;
然后这个
$feUserGroups = $this->frontendUserGroupRepository->findAll();
但是列表总是空的,即使数据库中有2个用户组
更新。。。我试着把它作为存储库
class FrontendUserGroupRepository extends \Typo3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository {
// Example for repository wide settings
public function initializeObject() {
/** @var $defaultQuerySettings Tx_Extbase_Persistence_Typo3QuerySettings */
$defaultQuerySettings = $this->objectManager->get('Tx_Extbase_Persistence_Typo3QuerySettings');
// go for $defaultQuerySettings = $this->createQuery()->getQuerySettings(); if you want to make use of the TS persistence.storagePid with defaultQuerySettings(), see #51529 for details
// don't add the pid constraint
$defaultQuerySettings->setRespectStoragePage(FALSE);
// don't add fields from enablecolumns constraint
$defaultQuerySettings->setRespectEnableFields(FALSE);
// don't add sys_language_uid constraint
$defaultQuerySettings->setRespectSysLanguage(FALSE);
$this->setDefaultQuerySettings($defaultQuerySettings);
}
}
但我有一个错误:
无法分析类:Typo3\CMS\Extbase\Domain\Repository\FeUserGroupsRepository可能未加载或没有自动加载程序
我已经添加了一个新的依赖注入并重新安装了模块 默认情况下,每个Extbase存储库的flag
reservestoragepage
设置为true,这意味着用户组需要放置在exts常量中配置为默认存储PID的页面上,因为我看到您可能根本不包括它
在这种情况下,您需要创建自己的存储库扩展FrontendUserGroupRepository,然后在不考虑存储的情况下对其进行初始化
这在中有描述
编辑:如果在扩展生成器中扩展某些模型/repo,则会自动将repo限制为仅限于您类型的对象,即通过添加TS映射:
recordType = Tx_Rere_FrontendUserGroup
因此,如果您想访问扩展模型的所有记录,只需从
ext\u typoscript\u setup.txt
中完全删除recordType
(不要忘记清除系统缓存)。默认情况下,每个Extbase存储库都将标志reservestorepage
设置为true,这意味着用户组需要放置在exts常量中配置为默认存储PID的页面上,正如我看到的,您可能根本不包括它
在这种情况下,您需要创建自己的存储库扩展FrontendUserGroupRepository,然后在不考虑存储的情况下对其进行初始化
这在中有描述
编辑:如果在扩展生成器中扩展某些模型/repo,则会自动将repo限制为仅限于您类型的对象,即通过添加TS映射:
recordType = Tx_Rere_FrontendUserGroup
因此,如果您想访问扩展模型的所有记录,只需从
ext\u typoscript\u setup.txt
中完全删除recordType
(不要忘记清除系统缓存).@biesior:您可以添加有关用于后端模块的module.tx\u myext
的信息。我添加了新的存储库代码,但上面有一个例外。。出什么事了?谢谢你,这是一个非常愚蠢的复制粘贴错误。。。真蠢。。。我在地下室办公室花了很多时间更正了上面的代码。。但问题也存在。好的,解决了一些问题。。。但现在我遇到了这个错误:找不到名称“ReRe\ReRe\Domain\Model\FrontendUserGroup”的类定义。这可能是由于类定义中的类名拼写错误造成的
很清楚我为什么会遇到这个问题,但我如何解决它?@biesior:您可以添加一个关于后端模块使用的module.tx\u myext
的信息。我添加了新的存储库代码,上面有一个例外。。出什么事了?谢谢你,这是一个非常愚蠢的复制粘贴错误。。。真蠢。。。我在地下室办公室花了很多时间更正了上面的代码。。但问题也存在。好的,解决了一些问题。。。但现在我遇到了这个错误:找不到名称“ReRe\ReRe\Domain\Model\FrontendUserGroup”的类定义。这可能是由于类定义中的类名拼写错误造成的代码>我很清楚为什么会出现这种情况,但我如何解决它?