Extension Builder前端插件显示Extbase对象错误

时间:2013-05-09 14:59:24

标签: typo3

我使用名为“Events”的Extension构建器创建了一个扩展。还创建了一个前端插件。创建的模型具有属性eventDateeventtitle。控制器具有以下操作: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

如何解决此问题?

2 个答案:

答案 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)

记得也登录注销。 有时更改不会传播,直到您登录/注销 或禁用/启用扩展程序。