根据CONTENT 对象的文档:
由于在上面的示例中 .renderObj 没有明确设置,TYPO3 将自动设置 1.renderObj < tt_content,因此 renderObj 将引用 tt_content 的 TypoScript配置。相应的 TypoScript 配置将被复制到 renderObj。
由于您声明SCREENSHOTS.renderObj.dataWrap = <div class="screen">|</div>
正确,因此不会将任何配置自动复制到您的renderObj
.
如果我理解您的目标正确,那么您希望删除所有围绕“仅图像”内容元素的环绕,并将其全部包裹在一个 div 标签<div class="screen">|</div>
中。以下内容未经测试,但如果您提供的第一个代码被阻止适用于您的所有“仅图像”内容元素,则应该可以使用。
# Create a new renderMethod named 'noWraps' which can be used across the whole system
tt_content.image.20.rendering.noWraps {
imageRowStdWrap.dataWrap = |
noRowsStdWrap.wrap = |
oneImageStdWrap.dataWrap = |
imgTagStdWrap.wrap = |
editIconsStdWrap.wrap = |
caption.wrap = |
}
SCREENSHOTS < styles.content.get
SCREENSHOTS {
select.where = colPos = 9
renderObj < tt_content
renderObj {
# Set renderMethod to 'noWraps' only for this section
image.20.renderMethod = noWraps
# Change the default wrapping around the content element but only if it's a 'image only' contant element
stdWrap.innerWrap >
stdWrap.innerWrap.cObject = CASE
stdWrap.innerWrap.cObject {
key.field = CType
default < tt_content.stdWrap.innerWrap.cObject
image = TEXT
image.value = <div class="screen">|</div>
}
}
}
如果上面的代码不起作用,那么只需写一个评论,然后我会看看它。