我试图将动态图片的调用更改为静态默认图片,所以我更改了:
<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
我不知道我是否有语法错误。
答案 0 :(得分:0)
如果使用文件属性,则它期望文件列表中有文件的uid。您可以使用f:image viewhelper并为其指定src属性:
<f:image src="path_to_my_default_image" />
答案 1 :(得分:0)
我解决了我的问题,问题出在语法级别。
下面的代码可以正常工作:
<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)}"
/>