TYPO3 GIFBUILDER,图片来自FLUID。

问题描述 投票:0回答:1

我想使用GIFBUILDER来制作一个带有覆盖的图像。因此,图像应该通过FLUID来传递。

这是我目前所拥有的。

FLUID

<f:for each="{product.images}" as="image">
   <f:cObject typoscriptObjectPath="lib.overlay" data="{image: image.uid}" />
</f:for>

TypoScript

lib.overlay = IMAGE
lib.overlay {
    file = GIFBUILDER
    file {
        XY = 300,500
        format = jpg
        quality = 80
        10 = IMAGE
        10 {
            file.import = {field:image}
            file.import.insertData = 1
            file.import.treatReferenceAsId = 1
        }
        20 = TEXT
        20 {
            text = Copyright
            fontColor= #dddddd
            fontSize = 30
            offset = 100,100
            align = left
            antiAlias = 1
        }
    }
}

目前,我只得到一个白色的背景,上面有版权标签。然而,如果我做一些像

10 = IMAGE
10.file = fileadmin/path/to/file

都能正常工作。

所以我的问题是:我如何正确地将FLUID中的图像传递给TypoScript?

除此之外,我如何通过FLUID从Contentelement中传递一个值来使覆盖的文本也是动态的?

最诚挚的问候和提前感谢

更新。

输出的{image}(一张图片)。enter image description here

typo3 typoscript fluid
1个回答
1
投票

替换

10 = IMAGE
10 {
    file.import = {field:image}
    file.import.insertData = 1
    file.import.treatReferenceAsId = 1
}

10 = IMAGE
10 {
    file.import.field = image
    file.treatIdAsReference = 1
}

treatReferenceAsId 应是 treatIdAsReference. 这也是一个属性 file,不属于 file.import. 我不知道为什么 file.import = {field:image}insertData = 1 不见得,但 file.import.field = image 确实如此。反正比较干净,所以我才试了一下。

你可能还想给图像添加一个宽度和高度或maxW和maxH,除非你100%确定它们总是300x500像素。

© www.soinside.com 2019 - 2024. All rights reserved.