Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 显示Extbase对象错误的扩展生成器前端插件_Typo3 - Fatal编程技术网

Typo3 显示Extbase对象错误的扩展生成器前端插件

Typo3 显示Extbase对象错误的扩展生成器前端插件,typo3,Typo3,我使用名为事件的扩展生成器创建了一个扩展。还创建了一个前端插件。创建的模型具有属性eventDate和eventtitle。控制器具有以下操作:显示、列出和新建 我将这个插件添加到一个页面。但它似乎不起作用 它显示了一个错误:$events=$this->eventRepository->findAll;在EventController中 php日志显示了以下错误:致命错误:在第44行的../typo3conf/ext/event/Classes/Controller/EventControll

我使用名为事件的扩展生成器创建了一个扩展。还创建了一个前端插件。创建的模型具有属性eventDate和eventtitle。控制器具有以下操作:显示、列出和新建

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

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

php日志显示了以下错误:致命错误:在第44行的../typo3conf/ext/event/Classes/Controller/EventController.php中对非对象调用成员函数findAll

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
我如何解决这个问题

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

存储库需要由以下两种方式注入:

TYPO3版本<6.0

或TYPO3版本>=6.0

/** *事件存储库 * *@var\YourVendor\YourExtension\Domain\Repository\EventRepository *@注入 */ 受保护的存储库; 请检查eventRepository是否正确注入。在扩展生成器中的模型的域对象设置下选中“聚合根”选项,并检查文件yourext/Classes/Domain/Repository/EventRepository.php是否已创建。需要清除后端中的缓存

存储库需要由以下两种方式注入:

TYPO3版本<6.0

或TYPO3版本>=6.0

/** *事件存储库 * *@var\YourVendor\YourExtension\Domain\Repository\EventRepository *@注入 */ 受保护的存储库;
记住也要登出。 有时,在您登录/注销之前,更改不会传播
或者禁用/启用扩展。

记住也要登录注销。 有时,在您登录/注销之前,更改不会传播
或者禁用/启用扩展。

嗯,我忘记更新代码了。错误得到纠正。是的,你给出的答案是答案。非常感谢。但是,MyText存储库扩展了\TYPO3\CMS\Extbase\Persistence\repository。所以在我的myext/domain/repository/mextrepository.php中,我是否需要添加findAll函数。。。我的extbase/persistence/repository.php有一个findAllfunction..在这里不会自动继承吗?有时候,在6.2 LTS安装上只使用@inject stuff是行不通的。不仅仅是添加受保护的变量,还有更多的内容。我忘了更新代码了。错误得到纠正。是的,你给出的答案是答案。非常感谢。但是,MyText存储库扩展了\TYPO3\CMS\Extbase\Persistence\repository。所以在我的myext/domain/repository/mextrepository.php中,我是否需要添加findAll函数。。。我的extbase/persistence/repository.php有一个findAllfunction..在这里不会自动继承吗?有时候,在6.2 LTS安装上只使用@inject stuff是行不通的。除了添加受保护的变量之外,还有更多的内容。
/**
 * @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;
}