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 以将选项包含在下拉按钮中。