我在我自己的擴展模型中擴展了TYPO3的FE用戶擴展類7.6調用CommunityManager,我想使用調用common到存儲庫如findByUid()
或findAll()
但它們不起作用,返回值爲Null
。我自己的域名存儲庫的擴展,使得TYPO3 7.6的FE用戶擴展不起作用
我一直在研究它,即使在幾個這裏的問題,但它仍然無法正常工作。目前,我有以下設置
在我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);
}
}
而且Typo腳本代碼
在常量
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
}
}
}
}
}
我會感激你指導我解決問題
是的,模型'CommunityManager'直接延伸到'FrontendUser'。我設置了輸入框,改變了擴展或'CommunityManagerRepository'爲extbase'Repository',但它仍然不起作用 –
我在文件ext_typoscript_setup.txt中找到了這個Typoscript,由Extension Builder生成 –
只需修改類型字段fe_users表並將它與我們自己的擴展相關聯 –