能够在TYPO3 CMS 7.6.18设置中使用不同的模板。我包含一个pageTSConfig.ts文件,其后端布局如下所示。 (另请参阅此pastebin:https://pastebin.com/BcYKrYKh以及它在TYPO3对象浏览器中的样子:https://pastebin.com/LVXqNUZC
### Backend Layouts #####
mod.web_layout.BackendLayouts{
1 {
title = Standaard Layout
config {
backend_layout {
colCount = 2
rowCount = 1
rows {
1 {
columns {
1 {
name = linker_inhoud
colPos = 1
}
2 {
name = midden_inhoud
colPos = 0
}
}
}
}
}
}
}
}
由于BE-Layout是用文件完成的,在我的TSconfig.ts中我已经像上面提到的手册一样添加了pagets__0。这仍然无效。我在这里失踪了什么?这是我所拥有的TSconfig的一部分,这里是完整的配置:
page.10.file.stdWrap.cObject = CASE
page.10.file.stdWrap.cObject {
key.data = levelfield:-1, backend_layout_next_level, pagelayout, slide
key.override.field = pagelayout
default = TEXT
default.value = fileadmin/templates/index.html
pagets__0 = TEXT
pagets__0.value = fileadmin/templates/index.html
pagets__1 = TEXT
pagets__1.value = fileadmin/templates/layouts/small_header_page.html
pagets__2 = TEXT
pagets__2.value = fileadmin/templates/layouts/alternatieve_pagina.html
}
全部包括在内:
答案 0 :(得分:1)
“backend_layout”之间存在差异,“backend_layout”是可以通过“levelfield”和“pagelayout”获取的真实数据库字段的名称,这是一种摆脱“levelfield”的虚拟字段方法
https://docs.typo3.org/typo3cms/TyposcriptReference/DataTypes/Gettext/Index.html#pagelayout
key.data = pagelayout
应该为你完成整个工作,只在这种情况下你可以使用像
这样的东西pagets__x
访问实际布局。
所以你的代码应该是:
page.10 = FLUIDTEMPLATE
page.10.file.cObject = CASE
page.10.file.cObject {
key.data = pagelayout
default = TEXT
default.value = fileadmin/templates/index.html
pagets__0 = TEXT
pagets__0.value = fileadmin/templates/index.html
pagets__1 = TEXT
pagets__1.value = fileadmin/templates/layouts/small_header_page.html
pagets__2 = TEXT
pagets__2.value = fileadmin/templates/layouts/alternatieve_pagina.html
}
或者它应该是
page.10 = FLUIDTEMPLATE
page.10.file.cObject = CASE
page.10.file.cObject {
key.data = levelfield:-1, backend_layout_next_level, slide
key.override.field = backend_layout
default = TEXT
default.value = fileadmin/templates/index.html
1 = TEXT
1.value = fileadmin/templates/layouts/small_header_page.html
2 = TEXT
2.value = fileadmin/templates/layouts/alternatieve_pagina.html
}
但不是两种方法的混合。
答案 1 :(得分:0)
在我告诉您代码可能出现的问题之前,让我向您解释一些事情。
您已将模板放在fileadmin目录中。这不再是放置这些文件的地方,因为fileadmin是图像,视频或文档等资源的公共场所。它可能适用于文件列表中的每个后端用户,编辑器在任何情况下都不能编辑模板。建议的处理模板的方法是将它们放入可以通过扩展管理器安装的自己的扩展中。
在你的pastebin片段中,有一行userFunc = tx_templavoila_pi1->main_page
,你可能会混淆安装中的东西而不想在templavoila旁边使用FLUIDTEMPLATE,因为它可能会混淆什么渲染方法用于什么你页面上的东西。对于整个TYPO3安装,最好坚持使用templavoila或Fluid。
现在,你的TypoScript中有这些行:
key.data = levelfield:-1, backend_layout_next_level, pagelayout, slide
key.override.field = pagelayout
页面记录中没有字段pagelayout
。您想要解决的字段是backend_layout
。