Самый простой способ - использовать TypoScript. В приведенном ниже примере мы используем ту же конфигурацию, которую я использую для tt_content для рендеринга новостей.
Прежде всего, вам нужно определить объект TypoScript, который использует файл, переданный объекту. Затем вы скопируете конфигурацию, используемую для tt_content.
lib.responsiveImage {
default = IMAGE
default {
file.import.current = 1
altText.data = field:altText
titleText.data = field:titleText
layoutKey = picturefill
layout.picturefill < tt_content.image.20.1.layout.picturefill
sourceCollection < tt_content.image.20.1.sourceCollection
}
}
(Вы, возможно, потребуется изменить пример раскладки, если вы не хотите использовать picturefill.)
Затем в жидкость, необходимо передать изображение в TypoScript. Пример ниже отображает uri файла:
<f:alias map="{image: {uri: '{f:uri.image(src:\'{mediaElement.uid}\', treatIdAsReference:\'1\')}', altText: mediaElement.originalResource.alternative, titleText: mediaElement.originalResource.title}}">
<f:cObject typoscriptObjectPath="lib.responsiveImage.default" data="{image}" currentValueKey="uri" />
</f:alias>
Вы также можете определить другую конфигурацию, например.
lib.responsiveImage {
default = IMAGE
default {
[...]
}
newsDetail < .default
newsDetail {
[different configuration for type newsDetail]
}
}
Спасибо Lorenz за то, что предоставил решение, дал мне возможность двигаться вперед. –