Typo3 类型3:调用未定义的方法

Typo3 类型3:调用未定义的方法,typo3,typo3-7.6.x,view-helpers,tx-news,uncaught-exception,Typo3,Typo3 7.6.x,View Helpers,Tx News,Uncaught Exception,我使用的是TYPO3 7.6.32版,带有新闻系统扩展,我不时会遇到一个错误,然后他会独自消失而不做任何更改: 错误: Call to undefined method GeorgRinger\News\Domain\Model\FileReference::getType() Error thrown in file /var/www/www.example.com/typo3conf/ext/in_news/Classes/ViewHelpers/IsVideoPlacedViewHel

我使用的是TYPO3 7.6.32版,带有新闻系统扩展,我不时会遇到一个错误,然后他会独自消失而不做任何更改:

错误:

Call to undefined method 
GeorgRinger\News\Domain\Model\FileReference::getType()

Error thrown in file /var/www/www.example.com/typo3conf/ext/in_news/Classes/ViewHelpers/IsVideoPlacedViewHelper.php in line 25.
因此,我去看了著名的文件
IsVideoPlacedViewHelper.php
。 这是我从第24行发现的:

foreach ($media as $key => $mediaEl) {
    if ($mediaEl->getType() >= 101 && $mediaEl->getType() <= 103 ) {
        return true;
    }
}

发生此错误的原因是,
IsVideoPlacedViewHelper
不支持
TYPO3\CMS\Extbase\Domain\Model\FileReference
类。(扩展名
news
只是扩展了这个域模型。)它需要一个
TYPO3\CMS\Core\Resource\FileReference
,可以由
$mediaEL->getOriginalResource()
检索

因此,您应该更新您的
IsVideoPlacedViewHelper
,以考虑这一点:

使用TYPO3\CMS\Extbase\Domain\Model\FileReference作为ExtbaseFileReference;
foreach($media as$key=>$media元素){
if($ExtbaseFileReference的mediaElement实例){
$mediaElement=$mediaElement->getOriginalResource();
}
$type=$mediaElement->getType();

如果($type>=101&&$type Thank you@Mathias Brodala!您能为我提供有关如何更新
ISVideoPlacedVideoWheelper
的更多信息吗?非常感谢!我将测试并关注日志,因为错误并不总是出现。
2019/06/10 08:17:51 [error] 119340#119340: *4509 FastCGI sent in stderr: "PHP message: http://www.example.com/ - Core: Exception handler (WEB): Uncaught TYPO3 Exception: Call to undefined method GeorgRinger\News\Domain\Model\FileReference::getType() | Error thrown in file /var/www/www.example.com/typo3conf/ext/in_news/Classes/ViewHelpers/IsVideoPlacedViewHelper.php in line 25. Requested URL: http://www.example.com/video/" while reading response header from upstream, client: 188.40.199.147, server: in.fo, request: "GET /video/ HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "www.example.com"