Typo3 Fluid Templates 如何添加多个模板
Typo3 Fluid Templates How to add multiple templates
我有一个完成的静态 HTML 模板。我需要将它映射到 typo3,以便内容是动态的。我遵循了以下教程:https://docs.typo3.org/typo3cms/SitePackageTutorial/FluidTemplates/Index.html
效果很好,但现在我想知道如何更改每个站点的模板?我为每个站点制作了模板,即 Gallerie.html、Contact.html,它们链接到相同的布局,因为页眉和页脚始终相同。
我现在如何告诉关于我们的页面使用 Gallerie.html?
我的setup.typoscript:
page = PAGE
page {
typeNum = 0
// Part 1: Fluid template section
10 = FLUIDTEMPLATE
10 {
templateName = TEXT
templateName.stdWrap.cObject = CASE
templateName.stdWrap.cObject {
key.data = pagelayout
pagets__default = TEXT
pagets__default.value = Default
default = TEXT
default.value = Default
}
templateRootPaths {
0 = EXT:eventmanagement/Resources/Private/Templates/Page/
1 = {$page.fluidtemplate.templateRootPath}
}
partialRootPaths {
0 = EXT:eventmanagement/Resources/Private/Partials/Page/
1 = {$page.fluidtemplate.partialRootPath}
}
layoutRootPaths {
0 = EXT:eventmanagement/Resources/Private/Layouts/Page/
1 = {$page.fluidtemplate.layoutRootPath}
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
levels = 1
includeSpacer = 1
as = mainnavigation
}
}
}
目前它在每个页面上从 eventmanagement/Resources/Private/Templates/Page/ 加载 Default.html 模板。我现在在 eventmanagement/Resources/Private/Templates/Page/ 中创建了第二个名为 Gallerie.html 的模板/我现在如何将其添加到后端的画廊页面?
我不知道(几乎)每个页面都有另一个模板是否非常有用,但总的来说这是可能的。只需考虑在根行中始终使用在当前级别定义的模板,或者 - 如果不存在 - 在根行上升时首先找到的模板。
对于每个额外的模板,您都必须在上面的这段代码中添加一个部分:
templateName.stdWrap.cObject {
key.data = pagelayout
pagets__default = TEXT
pagets__default.value = Default
default = TEXT
default.value = Default
}
因此,包含选项 about us
的代码段可能如下所示:
templateName.stdWrap.cObject {
key.data = pagelayout
pagets__default = TEXT
pagets__default.value = Default
default = TEXT
default.value = Default
pagets__aboutus = TEXT
pagets__aboutus.value = AboutUs
aboutus = TEXT
aboutus.value = AboutUs
}
此外,您可能还需要更改 TCA 以将选项包含在下拉按钮中。
我有一个完成的静态 HTML 模板。我需要将它映射到 typo3,以便内容是动态的。我遵循了以下教程:https://docs.typo3.org/typo3cms/SitePackageTutorial/FluidTemplates/Index.html
效果很好,但现在我想知道如何更改每个站点的模板?我为每个站点制作了模板,即 Gallerie.html、Contact.html,它们链接到相同的布局,因为页眉和页脚始终相同。 我现在如何告诉关于我们的页面使用 Gallerie.html?
我的setup.typoscript:
page = PAGE
page {
typeNum = 0
// Part 1: Fluid template section
10 = FLUIDTEMPLATE
10 {
templateName = TEXT
templateName.stdWrap.cObject = CASE
templateName.stdWrap.cObject {
key.data = pagelayout
pagets__default = TEXT
pagets__default.value = Default
default = TEXT
default.value = Default
}
templateRootPaths {
0 = EXT:eventmanagement/Resources/Private/Templates/Page/
1 = {$page.fluidtemplate.templateRootPath}
}
partialRootPaths {
0 = EXT:eventmanagement/Resources/Private/Partials/Page/
1 = {$page.fluidtemplate.partialRootPath}
}
layoutRootPaths {
0 = EXT:eventmanagement/Resources/Private/Layouts/Page/
1 = {$page.fluidtemplate.layoutRootPath}
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
levels = 1
includeSpacer = 1
as = mainnavigation
}
}
}
目前它在每个页面上从 eventmanagement/Resources/Private/Templates/Page/ 加载 Default.html 模板。我现在在 eventmanagement/Resources/Private/Templates/Page/ 中创建了第二个名为 Gallerie.html 的模板/我现在如何将其添加到后端的画廊页面?
我不知道(几乎)每个页面都有另一个模板是否非常有用,但总的来说这是可能的。只需考虑在根行中始终使用在当前级别定义的模板,或者 - 如果不存在 - 在根行上升时首先找到的模板。
对于每个额外的模板,您都必须在上面的这段代码中添加一个部分:
templateName.stdWrap.cObject {
key.data = pagelayout
pagets__default = TEXT
pagets__default.value = Default
default = TEXT
default.value = Default
}
因此,包含选项 about us
的代码段可能如下所示:
templateName.stdWrap.cObject {
key.data = pagelayout
pagets__default = TEXT
pagets__default.value = Default
default = TEXT
default.value = Default
pagets__aboutus = TEXT
pagets__aboutus.value = AboutUs
aboutus = TEXT
aboutus.value = AboutUs
}
此外,您可能还需要更改 TCA 以将选项包含在下拉按钮中。