我可以在每个可以添加字符串的内容元素中添加一个自定义字段吗?
在打字稿中,我将能够读取此字符串并将其打印在class=""
属性中?
每个内容元素都有一个注释字段,我可以在打字稿中将其涂成红色并将其粘贴到class属性中吗?
CONTENT < styles.content.get
CONTENT.renderObj.stdWrap.dataWrap=<div class="{NOTE??}">|</div>
谢谢
更新:
是否可能这样:
CONTENT < styles.content.get
CONTENT.renderObj.stdWrap {
key.field = layout
4 = TEXT
4.value = <div class="csc-default blue">|</div>
5 = TEXT
5.value = <div class="csc-default meineklasse2">|</div>
6 = TEXT
6.value = <div class="csc-default meineklasse3">|</div>
}
答案 0 :(得分:2)
要保留给定的CI,通常不是让编辑人员手动输入CSS类名称的好选择。更好的方法是让编辑器可以选择一组可能的类。
如果您使用layout
记录中已经可用的字段tt_content
,就可以这样做。
由于layout
字段的类型为int
,因此您可能需要对期望的班级名称进行“翻译”,否则您将停留在从frame-layout-1
到frame-layout-3
之类的编号班级中。这是(在FSC中)内置解决方案和可用选项。
您可以增强此选项并对其进行修改。 在页面TSconfig上增强选择范围:
// Adding more layouts:
TCEFORM.tt_content.layout.addItems {
4 = my special layout
5 = my other special layout
}
// Modifying layouts names:
TCEFORM.tt_content.layout.altLabels {
1 = my default layout
}
// remove items
TCEFORM.tt_content.layout.removeItems = 2,3
在FSC中,此字段在布局模板(Resources/Private/Layouts/Default.html
)中评估(如果您还使用frame_class
????)
[...]
<div id="c{data.uid}" class="frame frame-{data.frame_class} frame-type-{data.CType} frame-layout-{data.layout}{f:if(condition: data.space_before_class, then: ' frame-space-before-{data.space_before_class}')}{f:if(condition: data.space_after_class, then: ' frame-space-after-{data.space_after_class}')}">
[...]
但是,您可以使用自己的文件来覆盖Default.html
文件,就像在每个流体模板系统中一样。只需将原始文件复制到您自己的空间,然后将新位置添加到模板(布局)路径即可。
最终可能会这样:
[...]
<div id="c{data.uid}" {f:render.section(name:'layout-selection', arguments={layout:'layout'})} ... >
[...]
<f:section name="layout-selection">
<f:switch expression="{layout}">
<f:case value="1">class="normal"</f:case>
<f:case value="4">class="special"</f:case>
<f:case value="5">class="very-special"</f:case>
<f:defaultCase>class="default"</f:defaultCase>
</f:switch>
</f:section>
根据TYPO3的版本,FSC的模板路径可以配置为:
(最多TYPO3 7):
lib.fluidContent {
templateRootPaths {
20 = EXT:my_extension/Resources/Private/Templates/
}
partialRootPaths {
20 = EXT:my_extension/Resources/Private/Partials/
}
layoutRootPaths {
20 = EXT:my_extension/Resources/Private/Layouts/
}
}
或(自TYPO3 8起):(Manual)
lib.contentElement {
templateRootPaths {
20 = EXT:my_extension/Resources/Private/Templates/
}
partialRootPaths {
20 = EXT:my_extension/Resources/Private/Partials/
}
layoutRootPaths {
20 = EXT:my_extension/Resources/Private/Layouts/
}
}
答案 1 :(得分:0)
我找到了适合我的解决方案。
tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
key.field = layout
4 = TEXT
4.value = <div class="blue"><div class="container-fluid"><div class="design">|</div></div></div>
5 = TEXT
5.value = <div class="white"><div class="container-fluid"><div class="design">|</div></div></div>
6 = TEXT
6.value = <div class="grey"><div class="container-fluid"><div class="design">|</div></div></div>
}