TYPO3 CMS 7 tt_content 布局

TYPO3 CMS 7 tt_content layouts

我在 TSconfig 中设置了自己的 tt_content 布局,例如

TCEFORM.tt_content.layout.removeItems = 1,2,3
TCEFORM.tt_content.layout.addItems.100 = Green Box

并将 class 定义添加到我的错字设置中,例如

# Layout Green Box (100)
tt_content.stdWrap.innerWrap.cObject{
    100=<tt_content.stdWrap.innerWrap.cObject.default
    100.15.value = greenbox
}

在 TYPO3 CMS 7.6.9 中。但它在前端没有任何反应。布局 "Green Box" 出现在外观 > 布局下拉列表中,但 class 没有。

我是不是出了什么问题,或者自从 7+ 版本的流畅布局以来有新的方法吗?

实际上需要在自己的流体模板中定义。 所以你要做的是将 fluid_styled_content 的私人文件夹复制到你自己的发行版私人文件夹,并在你的打字常量中添加一些行,如

styles.templates {
  templateRootPath = {$resDir}/Private/Tt_content/Templates
  partialRootPath = {$resDir}/Private/Tt_content/Partials
  layoutRootPath = {$resDir}/Private/Tt_content/Layouts
}

在我的例子中,我将 Textmedia.html 的第二行编辑为

<div id="c{data.uid}" {f:if(condition: '{data.layout} == 100', then: 'class="greenbox"')}>

等等,它工作正常。

有点晚了,但仍然有人会觉得这很有用。

如果您使用的是 css_styled_content,那么是的,它在新版本中略有变化。 基本上结构现在看起来像这样:

stdWrap.innerWrap.cObject.[default|NN] {
    # 10 - OPEN TAG
    10.cObject.default.value = <div id="c{field:uid}"
    # 20 - CLASS
    20.10.value = csc-default
    # 30 - CLOSE TAG
    30.cObject.default.value = >|</div>
}

版本差异:

# overwrite basic settings for selected frame:
stdWrap.innerWrap.cObject.[NN (layout number or default)]

# for open tag:  instead of NN.10.value  (default.10.value)   use:  NN.10.cObject.default.value   (default.10.cObject.default.value)
# for class:     instead of NN.15.value  (default.15.value)   use:  NN.20.10.value  (default.20.10.value)
# for close tag: instead of NN.30.value  (default.30.value)   use:  NN.30.cObject.default.value   (default.30.cObject.default.value)

所以在被问到的情况下会是这样的:

# Layout Green Box (100)
tt_content.stdWrap.innerWrap.cObject{
    100 =< tt_content.stdWrap.innerWrap.cObject.default
    100.20.10.value = greenbox
}