我一遍又一遍地搜索,但还没找到可行的东西......
TYPO3 8.7.8
root - backend-layout ("Main") for this and all subpages (id=1)
|
- home - backend-layout ("Home") for this page only (id=2)
|
- subpage - same backend-layout as root (id=3)
两个后端布局看起来都一样:
________________________________
| Top |
|______________________________|
| main-content | right-content |
|______________|_______________|
顶部的名称不同,使用方式也不同。
" Main" -backend-layout的顶部应该只允许images-content-element。
cType.allowed = image
" Home" -backend-layout的顶部应该只允许text-content-element
cType.allowed = text
我尝试的最后两件事是
首先:使用typoscript中的GlobalVars
来限制它[globalVar = TSFE:id != 2]&&[globalVar = TSFE:colPos=2]
TCEFORM.tt_content.CType.removeItems := addToList(header,text,bullets,table,uploads,multimedia,mailform,search,login,splash,menu,shortcut,list,script,div,html,media)
TCEFORM.tt_content.CType.keepItems := addToList(image)
[end]
第二:更改数据库中布局的属性
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Parallax
colspan = 2
colPos = 2
# The following 3 lines have been added through me
cType {
allowed = text
}
}
}
}
2 {
columns {
1 {
name = Content-Main
colPos = 0
}
2 {
name = Content-Right
colPos = 1
}
}
}
}
}
我已尝试了很多其他事情,我不确定是否会再次找到它们。我甚至不确定这可以在TYPO3 8.x中完成。在拼写错误中创建后端布局的选项确实受到限制。您只能键入列的名称并定义colPos。
我为TYPO3 8.x做错了什么我的配置没有用? 我需要不同的属性吗?或者只是不打算在这个版本的TYPO3中以这种方式工作?因为它似乎以前有效......
我仍然是TYPO3的新手,我真的很感谢你的帮助,但要具体说明在哪里改变什么,否则我会再次迷失...... ^^
谢谢!
答案 0 :(得分:2)
尝试这样的事情:
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Parallax
colspan = 2
colPos = 2
allowed = text
}
}
}
2 {
columns {
1 {
name = Content-Main
colPos = 0
}
2 {
name = Content-Right
colPos = 1
}
}
}
}
}
答案 1 :(得分:2)
你的方法很好,但条件不正确。
Prolbem one:BE没有可用的TSFE。
在“globalString”条件下,键“TSFE:”将不起作用,因为 TSFE全局对象仅存在于FE上下文中。 “LIT:”键将 不起作用,因为它用于比较TypoScript常量,这 在BE上下文中不可用。
参考:https://docs.typo3.org/typo3cms/TSconfigReference/Conditions/Index.html
您需要使用“页面”而不是“TSFE:page |”。这些是相同的,但“页面”可以用于前端和后端,但“TSFE”仅用于前端。
第二个问题是,对于colPos,您需要访问GP(GetPost)帮助程序而不是TSFE。
所以尝试改变这样的条件:
[page|uid != 2]&&[globalVar = GP:colPos==2]
TCEFORM.tt_content.CType.removeItems := addToList(header,text,bullets,table,uploads,multimedia,mailform,search,login,splash,menu,shortcut,list,script,div,html,media)
TCEFORM.tt_content.CType.keepItems := addToList(image)
[end]
注意:BE布局没有CType限制,因此“cType”和“allowed”都是错误的。
答案 2 :(得分:1)
感谢Joey,我找到了可以使用的扩展程序:Content Defender
我发现了如何通过ts添加我的backend_layouts;将以下内容添加到根页面的PageTS
mod.web_layout.BackendLayouts {
Home {
title = Home
config {
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Parallax
colspan = 2
colPos = 2
# allowed and disallowed only work through the extension content_defender (or gridelements)
allowed {
CType = gi_customstyler_parallax_content
}
}
}
}
2 {
columns {
1 {
name = Main
colPos = 0
disallowed {
CType = gi_customstyler_bg_image,gi_customstyler_parallax_content
}
}
2 {
name = Right
colPos = 1
disallowed {
CType = gi_customstyler_bg_image,gi_customstyler_parallax_content
}
}
}
}
}
}
}
}
Main {
title = Main
config {
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Titel-Hintergrund
colspan = 2
colPos = 2
allowed {
CType = gi_customstyler_bg_image
}
}
}
}
2 {
columns {
1 {
name = Main
colPos = 0
disallowed {
CType = gi_customstyler_bg_image,gi_customstyler_parallax_content
}
}
2 {
name = Right
colPos = 1
disallowed {
CType = gi_customstyler_bg_image,gi_customstyler_parallax_content
}
}
}
}
}
}
}
}
}
这样,两个backend_layouts在页面配置上可用,并具有受限内容元素的附加条件。如您所见,这也可以与自定义内容元素一起使用。
我花了很长时间才弄清楚这一点(作为新手),我希望这可能有助于其他人......