我使用名为“Events”的Extension构建器创建了一个扩展。还创建了一个前端插件。创建的模型具有属性eventDate
和eventtitle
。控制器具有以下操作:Show, List, and New.
我将此插件添加到页面中。但它似乎没有起作用。
它在$events = $this->eventRepository->findAll();
的{{1}}处显示错误。
php日志显示以下错误:EventController
appache日志向我显示以下错误:
Fatal error: Call to a member function findAll() on a non-object in ../typo3conf/ext/event/Classes/Controller/EventController.php on line 44
如何解决此问题?
答案 0 :(得分:5)
请检查是否正确注入eventRepository
。检查扩展构建器中模型的“域对象设置”下的“是聚合根”选项,并检查是否已创建文件yourext/Classes/Domain/Repository/EventRepository.php
。需要清除后端的缓存!
存储库需要通过
注入TYPO3版本< 6
/**
* @var Tx_YourExt_Domain_Repository_EventRepository
*/
protected $eventRepository;
/**
* injectEventRepository
*
* @param Tx_YourExt_Domain_Repository_EventRepository $eventRepository
* @return void
*/
public function injectEventRepository(Tx_YourExt_Domain_Repository_EventRepository $eventRepository) {
$this->eventRepository = $eventRepository;
}
或TYPO3版本> = 6.0
/**
* eventRepository
*
* @var \YourVendor\YourExtension\Domain\Repository\EventRepository
* @inject
*/
protected $eventRepository;
答案 1 :(得分:0)
记得也登录注销。 有时更改不会传播,直到您登录/注销 或禁用/启用扩展程序。