TYPO3 8.7.8 限制后端布局列中的可用内容元素
TYPO3 8.7.8 restrict available content-elements in backend-layout column
我一直在搜索,但还没有找到有用的东西...
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 的顶部应该只允许图像内容元素。
cType.allowed = image
"Home"-后端布局的顶部应该只允许文本内容元素
cType.allowed = text
我试过的最后两件事是
首先:使用拼写错误中的 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 的新手,非常感谢您的帮助,但请具体说明更改内容的位置,否则我会再次迷路....^^
谢谢!
尝试这样的事情:
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
}
}
}
}
}
你走的很好,但是条件不对。
问题一:没有可用于 BE 的 TSFE。
In the "globalString" condition, key "TSFE:" will not work because the
TSFE global object only exists in the FE context. The "LIT:" key will
not work either as it is used to compare TypoScript constants, which
are not available in the BE context.
参考:https://docs.typo3.org/typo3cms/TSconfigReference/Conditions/Index.html
您需要使用 "page" 而不是 "TSFE:page|"。它们是相等的,但 "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"都是错误的
感谢 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 就可以在页面配置上使用,并带有受限内容元素的附加条件。如您所见,这也可以与自定义内容元素一起使用。
我(作为新手)花了很长时间才弄明白这一点,我希望这可能对其他人有所帮助...
我一直在搜索,但还没有找到有用的东西...
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 的顶部应该只允许图像内容元素。
cType.allowed = image
"Home"-后端布局的顶部应该只允许文本内容元素
cType.allowed = text
我试过的最后两件事是
首先:使用拼写错误中的 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 的新手,非常感谢您的帮助,但请具体说明更改内容的位置,否则我会再次迷路....^^
谢谢!
尝试这样的事情:
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
}
}
}
}
}
你走的很好,但是条件不对。
问题一:没有可用于 BE 的 TSFE。
In the "globalString" condition, key "TSFE:" will not work because the TSFE global object only exists in the FE context. The "LIT:" key will not work either as it is used to compare TypoScript constants, which are not available in the BE context.
参考:https://docs.typo3.org/typo3cms/TSconfigReference/Conditions/Index.html
您需要使用 "page" 而不是 "TSFE:page|"。它们是相等的,但 "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"都是错误的
感谢 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 就可以在页面配置上使用,并带有受限内容元素的附加条件。如您所见,这也可以与自定义内容元素一起使用。
我(作为新手)花了很长时间才弄明白这一点,我希望这可能对其他人有所帮助...