Typo3 Fluid模板如何添加多个模板

时间:2018-09-16 12:16:55

标签: typo3 typoscript fluid fluid-layout

我有一个完整的静态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的模板,如何将其现在添加到后端的Gallerie页面中?

1 个答案:

答案 0 :(得分:0)

我不知道(几乎)每个页面都有另一个模板是否很有用,但总的来说是可能的。只需考虑在根行中始终使用在当前级别定义的模板,或者如果不存在,则使用在根行上找到的模板(如果不存在)。

对于每个其他模板,您都必须从上方在此代码段内添加一个部分:

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