【发布时间】:2017-04-20 02:19:14
【问题描述】:
我在自己的扩展模型中有一个扩展 TYPO3 7.6 的 FE 用户调用 CommunityManager 的类,我想使用存储库常见的调用,例如 findByUid() 或 findAll() 但它们不起作用,返回值为Null。
我一直在研究它,即使在这里有几个问题,但它仍然不起作用。我目前有以下设置
在我的 CommunityManagerController 中
/**
* communityManagerRepository
*
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
* @inject
*/
protected $communityManagerRepository = null;
/**
* action list
*
* @return void
*/
public function listAction()
{
$this->communityManagerRepository = $this->objectManager->get('VENDOR\MyExt\Domain\Repository\CommunityManagerRepository');
$communityManagers = $this->communityManagerRepository->findAll();
$this->view->assign('communityManagers', $communityManagers);
}
CommunityManagerRepository
class CommunityManagerRepository extends TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
{
public function initializeObject()
{
$defaultQuerySettings = $this->objectManager->get(\TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings::class);
$defaultQuerySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($defaultQuerySettings);
}
}
还有排版代码
在常量中
plugin.tx_myext_nameofmyplugin {
persistence {
storagePid = 5
}
}
在设置中
config.tx_extbase {
persistence {
classes {
TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
subclasses {
Tx_MyExt_CommunityManager = VENDOR\MyExt\Domain\Model\CommunityManager
}
}
VENDOR\MyExt\Domain\Model\CommunityManager {
mapping {
tableName = fe_users
recordType = Tx_MyExt_CommunityManager
}
}
}
}
}
感谢您指导我解决问题
【问题讨论】:
标签: typo3 typoscript extbase typo3-7.6.x