TYPO3 TypoScript:如何包装图像 altText 的文本值

TYPO3 TypoScript: How to wrap a TEXT value for IMAGE altText

我需要构建一个 IMAGE TypoScript,它将在生成的 <img> HTML 属性中显示 altText 和 titleText。

此 TypoScript 由于某种原因无法工作:

image = IMAGE 
image {
    file =  fileadmin/user_upload/myimage.png
    params = class="image-embed-item" loading="lazy" 
    titleText = TEXT
    titleText.value = My Image Title
    titleText.stdWrap.wrap = Bildtitel {|}
    altText = TEXT
    altText.value = My Image Alt Text
    altText.stdWrap.wrap = Alt-Text {|}
    imageLinkWrap >
}

生成的图像 HTML 是。

<img src="/example.com/fileadmin/_processed_/3/8/myimage_6a870622f1_c1450d54f1.png" width="134" height="198" class="image-embed-item" loading="lazy" alt="Alt-Text {TEXT}" title="Bildtitel {TEXT}"

TYPO3 将其处理为 {TEXT},而不是使用添加到 TEXT 的值。 “{我的图片标题}”应该在 .

我已经尝试使用 stdWrapwrapwrap2wrap3innerWrapouterWrap,但都没有成功。 我相信一定有解决办法。

您混淆了不同的可能性:

altText类型为“string /stdWrap”。因此,在最简单的情况下,您可以将一个字符串分配给 属性 并定义一个换行:

image = IMAGE 
image {
    altText =  My Image Alt Text
    altText.wrap = Alt-Text |
}

如果您必须在 altText 中做一些高级的事情,您可以使用 cObject:

image = IMAGE 
image {
    altText.cObject = TEXT
    altText.cObject.value = My Image Alt Text
    altText.cObject.stdWrap.wrap = Alt-Text |
}

因为渲染的顺序,也可以不直接包裹字符串,而是整个cObject:

image = IMAGE 
image {
    altText.cObject = TEXT
    altText.cObject.value = My Image Alt Text
    altText.wrap = Alt-Text |
}

最后但同样重要的是,stdWrap-函数本身有一个stdWrap-属性,所以你也可以这样做:

image {
    altText.cObject = TEXT
    altText.cObject.value = My Image Alt Text
    altText.stdWrap.wrap = Alt-Text |
}