1

我使用名为“事件”的扩展构建器创建了一个扩展。还创建了一个前端插件。创建的模型具有属性eventDateeventtitle。控制器具有以下操作:Show, List, and New.

我将此插件添加到页面。但它似乎不起作用。

$events = $this->eventRepository->findAll();它在 :中向我显示了一个错误 EventController

php 日志显示以下错误:Fatal error: Call to a member function findAll() on a non-object in ../typo3conf/ext/event/Classes/Controller/EventController.php on line 44

appache 日志向我显示以下错误:

Thu May 09 19:19:26 2013] [error] [client ::1] PHP  30. TYPO3\\Event\\Controller\\EventController->listAction() /home/Public/Project/typo3/typo3_src-6.1.0/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php:277, referer: http://localhost/Project/typo3/typo3/mod.php?M=web_ViewpageView&id=74

我该如何解决这个问题?

4

2 回答 2

5

请检查是否eventRepository正确注入。检查扩展构建器中模型的“域对象设置”下的选项“是聚合根”,并检查文件yourext/Classes/Domain/Repository/EventRepository.php是否已创建。需要清除后台缓存!

存储库需要由任一注入

TYPO3 版本 < 6.0

/**
 * @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;
于 2013-05-10T09:18:04.623 回答
0

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

于 2013-08-15T21:15:56.167 回答