要删除默认环绕图像,我使用了此模板代码:
tt_content.image.20.rendering.noWraps {
imageRowStdWrap.dataWrap = |
noRowsStdWrap.wrap = |
oneImageStdWrap.dataWrap = |
imgTagStdWrap.wrap = |
editIconsStdWrap.wrap = |
caption.wrap = |
}
# Set this as active rendering method
tt_content.image.20.renderMethod = noWraps
我想在特定部分的代码之上覆盖它。
这是我的代码:
SCREENSHOTS<styles.content.get
SCREENSHOTS.select.where = colPos = 9
SCREENSHOTS.renderObj.dataWrap = <div class="screen">|</div>
它不起作用。怎么做?
答案 0 :(得分:1)
根据documentation for the CONTENT object:
由于在上面的示例中没有明确设置.renderObj,因此TYPO3将自动设置1.renderObj&lt; 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>
}
}
}
如果上述代码不起作用,那么只需写一条评论然后我会看一下。