TYPO3 TypoScript:如何包装 IMAGE altText 的 TEXT 值

发布于 2025-01-13 01:20:20 字数 989 浏览 0 评论 0原文

我需要构建一个 IMAGE TypoScript,它将在生成的 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 没有任何成功。 我确信这个问题一定有解决办法。

I need to build an IMAGE TypoScript which will display the altText and titleText in the resulting <img> HTML attributes.

This TypoScript does not work for some reason:

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 >
}

The resulting image HTML is.

<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 processes it as {TEXT} instead of using the value added to the TEXT. "{My Image Title}" should have been in the .

I have already tried to use stdWrap, wrap, wrap2, wrap3, innerWrap and outerWrap without any success.
I am sure that there must be a solution for this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

就此别过 2025-01-20 01:20:20

您混淆了不同的可能性:

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 |
}

You are mixing up different possibilities:

altTextis of type "string /stdWrap". So, in the simplest case, you can assign a string to the property and define a wrap:

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

If you have to do advanced stuff in your altText, you can use a cObject:

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

Because of the order of rendering, it would also be possible to not wrap the string directly, but the whole cObject:

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

And last but not least, stdWrap-function itself has a stdWrap-property, so you could also do:

image {
    altText.cObject = TEXT
    altText.cObject.value = My Image Alt Text
    altText.stdWrap.wrap = Alt-Text |
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文