无法将外部存储库注入我的控制器
Cannot inject foreign repository into my controller
我在为 Typo3 编写的插件方面遇到了问题。我想访问另一个插件中插件的存储库(及其内容)。就像将东西从一个插件导入到另一个插件一样。我尝试在我的控制器中使用@inject,但结果为空。
/**
* @var \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
*/
protected $optionRecordRepository = null;
/**
* @param \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
*/
public function injectOptionRecordRepository(\Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository $optionRecordRepository) {
$this->optionRecordRepository = $optionRecordRepository;
}
我的动作函数:
$standorts = $this->optionRecordRepository->findAll();
$this->view->assign('standorts', $standorts);
我的 Typo3 版本是 9.5,所以可能有人知道我应该做什么。提前致谢。
您必须设置存储记录的 storagePid。
plugin.tx_[lowercasedextensionname] {
persistence {
storagePid = 12,22
}
}
如果记录存储在未知位置,则在存储库中忽略它。
/**
* Initializes the repository.
*/
public function initializeObject()
{
/** @var \TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface $querySettings */
$querySettings = $this->objectManager->get(QuerySettingsInterface::class);
$querySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($querySettings);
}
我在为 Typo3 编写的插件方面遇到了问题。我想访问另一个插件中插件的存储库(及其内容)。就像将东西从一个插件导入到另一个插件一样。我尝试在我的控制器中使用@inject,但结果为空。
/**
* @var \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
*/
protected $optionRecordRepository = null;
/**
* @param \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
*/
public function injectOptionRecordRepository(\Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository $optionRecordRepository) {
$this->optionRecordRepository = $optionRecordRepository;
}
我的动作函数:
$standorts = $this->optionRecordRepository->findAll();
$this->view->assign('standorts', $standorts);
我的 Typo3 版本是 9.5,所以可能有人知道我应该做什么。提前致谢。
您必须设置存储记录的 storagePid。
plugin.tx_[lowercasedextensionname] {
persistence {
storagePid = 12,22
}
}
如果记录存储在未知位置,则在存储库中忽略它。
/**
* Initializes the repository.
*/
public function initializeObject()
{
/** @var \TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface $querySettings */
$querySettings = $this->objectManager->get(QuerySettingsInterface::class);
$querySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($querySettings);
}