使用 f:media 文件调用默认图像

Call a default image wih f:media file

我正在尝试将动态图像的调用更改为静态默认图像,所以我更改了:

<f:media file="{mediaElement}" />

与:

<f:media file="{f:uri.image(src: 'paht_to_my_default_image\', treatIdAsReference:1}" />

但是我得到一个错误:

Argument 1 passed to TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getRenderer() must implement interface TYPO3\CMS\Core\Resource\FileInterface, string given, called in /var/www/src/typo3_src-7.6.32/typo3/sysext/fluid/Classes/ViewHelpers/MediaViewHelper.php on line 90

不知道是不是语法错误

如果您使用文件属性,它需要文件列表中文件的 uid。您可以使用 f:image viewhelper 并给它一个 src 属性:

<f:image src="path_to_my_default_image" />

我的问题解决了,问题出在语法层面。

下面这段代码完美运行:

<f:image src="EXT:myext/Resources/typo3_logo.png" 
class="img-responsive lazyload" 
title="{mediaElement.originalResource.title}" 
alt="{mediaElement.originalResource.alternative}" 
data="{src: '{f:uri.image(image:mediaElement,
width: settings.list.media.image.width, 
height: settings.list.media.image.height, 
maxWidth: settings.list.media.image.maxWidth, 
maxHeight: settings.list.media.image.maxHeight)}'}" 
width="{f:if(condition: settings.list.media.image.width, then: 
settings.list.media.image.width, else: settings.media.width)}" 
height="{f:if(condition: settings.list.media.image.height, then: 
settings.list.media.image.height, else: settings.media.height)}"
/>