繁体   English   中英

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的值。 “{My Image Title}”应该已经在了。

我已经尝试使用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 -property,所以你也可以这样做:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM