我想完全按照我在标题中提到的那样做。我想在某个Col位置(在我的后端布局中定义)打开(重新定义输出,即使需要)一个内容元素(textpic,因为我将它用于滑块输出)。 我是用Jquery完成的,但这似乎是一个低于标准的解决方案。
我的代码:
tt_content = CASE
tt_content {
key.field = colPos
#10 = CASE
10 {
#key.field = CType
stdWrap.innerWrap.cObject >
stdWrap.innerWrap2 >
dataWrap >
prepend >
textpic.20.text.10.10.stdWrap.dataWrap >
image.20.imageStdWrap.dataWrap >
image.20.imageStdWrapNoWidth.wrap >
image.20.imageColumnStdWrap.dataWrap >
image.20.layout.default.value = ###IMAGES######TEXT###
image.20.layout.1.value < image.20.layout.default.value
image.20.layout.2.value < image.20.layout.default.value
image.20.layout.8.value < image.20.layout.default.value
image.20.layout.9.value < image.20.layout.default.value
image.20.layout.10.value < image.20.layout.default.value
image.20.layout.17.value < image.20.layout.default.value
image.20.layout.18.value < image.20.layout.default.value
image.20.layout.25.value < image.20.layout.default.value
image.20.layout.26.value < image.20.layout.default.value
image.20.rendering.dl.imageRowStdWrap.dataWrap >
image.20.rendering.dl.oneImageStdWrap.dataWrap >
image.20.rendering.dl.imgTagStdWrap.wrap >
image.20.rendering.dl.editIconsStdWrap.wrap >
image.20.rendering.dl.caption.wrap >
textpic.20.text.10.10.stdWrap.dataWrap >
textpic.20.text.wrap >
}
}
任何人都有想法甚至是片段? ;)
很多事先得到任何帮助。
答案 0 :(得分:0)
I have answered a question similar this once before
而不是更改整个tt_content配置,只需将其更改为您需要的位置。
在下面的例子中,我创建了一个名为&#39; noWraps&#39;的新渲染方法。在这里,我已经清除了所有的包装。
接下来,我创建了一个内容库lib.yourContent
,您可以根据需要为其命名。我们选择我们喜欢的colPos,从您的示例中我们使用colPos = 10
。然后我们明确告诉renderObj复制tt_content配置,然后我们覆盖&#39; textpic&#39; renderMethod使用&#39; noWraps&#39;。
# Create a new renderMethod named 'noWraps' which can be used across the whole system
tt_content.textpic.20.rendering.noWraps {
imageRowStdWrap.dataWrap = |
noRowsStdWrap.wrap = |
oneImageStdWrap.dataWrap = |
imgTagStdWrap.wrap = |
editIconsStdWrap.wrap = |
caption.wrap = |
}
lib.yourContent < styles.content.get
lib.yourContent {
select.where = colPos = 10
renderObj < tt_content
renderObj {
# Set renderMethod to 'noWraps' only for this section
textpic.20.renderMethod = noWraps
}
}
上面的代码仍然没有经过测试,但它应该可行 - 只要询问它是否不合适。
我可以看到你也覆盖了默认布局,但你还没有提到你的问题?如果您需要覆盖它,则只需添加/更新以下内容。
lib.yourContent < styles.content.get
lib.yourContent {
select.where = colPos = 10
renderObj < tt_content
renderObj {
# Set renderMethod to 'noWraps' only for this section
textpic.20.renderMethod = noWraps
textpic.20.layout >
textpic.20.layout = TEXT
textpic.20.layout.value = ###IMAGES######TEXT###
}
}
由于您在自己的示例中只是将所有不同的情况重写为相同的值,因此我们也可以将其重新定义为静态值。首先,我们使用textpic.20.layout >
来清除默认配置。然后我们将其定义为TEXT对象textpic.20.layout = TEXT
,然后在最后设置值textpic.20.layout.value = ###IMAGES######TEXT###
我添加了一些额外的代码来删除最后一个包裹。
# Create a new renderMethod named 'noWraps' which can be used across the whole system
tt_content.textpic.20.rendering.noWraps {
imageRowStdWrap.dataWrap = |
noRowsStdWrap.wrap = |
oneImageStdWrap.dataWrap = |
imgTagStdWrap.wrap = |
editIconsStdWrap.wrap = |
caption.wrap = |
allStdWrap.dataWrap = |
}
lib.yourContent < styles.content.get
lib.yourContent {
select.where = colPos = 10
renderObj < tt_content
renderObj {
# Set renderMethod to 'noWraps' only for this section
textpic.20.renderMethod = noWraps
textpic.20.imageStdWrap.dataWrap = |
textpic.20.imageStdWrapNoWidth = |
textpic.20.layout >
textpic.20.layout = TEXT
textpic.20.layout.value = ###IMAGES######TEXT###
}
}