如何在TYPO3版本9中包含Header.html部分

时间:2019-04-08 15:00:38

标签: typo3 typoscript partials typo3-9.x

我想在TYPO3中更改标题的布局。有一个关于这个的帖子,但是这个但是我无法使它正常工作,并且那个帖子已经有2年的历史了。使用TYPO3,大多数东西很快就会过时。这是post。 另外,我看了这个article。我知道它是德语的,也许无论如何都会有所帮助。


因此,我从TYPO3系统文件中复制了Header.html,并将其放在fileadmin下的目录中,并尝试链接到该目录。

fileadmin/.../Partials/Header/Header.html

在模板设置中,我添加了partialRootPath

page = PAGE
page {

  shortcutIcon = fileadmin/sitedesign/Resources/Private/Templates/Vave/img/Favicon.ico

  10 = FLUIDTEMPLATE
  10.file = fileadmin/sitedesign/Resources/Private/Templates/Vave/Contact/index.html
  10.partialRootPath {
    20 = fileadmin/Resources/Private/Partials
  }

  includeCSS {
    contactFile1 = fileadmin/sitedesign/Resources/Private/Templates/Vave/Contact/css/Contact.css
  }


}

在Header.html中,我创建了一个额外的案例来检查它是否有效。

<f:case value="7">
            <p class="{positionClass}">
                    <f:link.typolink parameter="{link}">{header}</f:link.typolink>
            </p>
</f:case>

然后我将该新案例添加到TSConfig的页面资源中。

TCEFORM.tt_content.header_layout {
    addItems.7 = Name1 
}

在TYPO3系统文件中更改Header.html文件的内容可以按我期望的方式进行,因此,我很确定自己了解基本功能。 TSConfig部分也可以正常工作,因为我可以在“页眉布局类型”字段中选择“ Name1”。

但是,无论我更改fileadmin Header.html版本中的哪个部分,都不会发生任何事情。我检查了该Partials文件夹的路径以及所有内容的拼写一百万次,因此我也不认为这是问题所在。

我当然可以只更改系统文件Header.html,但这在许多级别上似乎是错误的。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

请勿混合使用不同的液体!

您要更改内容元素的标头部分。

但是您将新的部分添加到页面渲染的流体中。

如果您使用FSC(流体样式内容),则您的其他部分路径应在此处:

lib.contentElement {
    partialRootPaths {
        10 = fileadmin/Resources/Private/Partials
    }
}

breaking change: lib.contentElementinstead of lib.fluidContent

其他建议:

  • 请谨慎使用名称:除了partialRootPaths之外,有时还存在partialRootPath(末尾没有s),不是对象数组。这样一来,您就只能设置一个路径(不能设置具有优先级的常规路径列表),并且优先级高于partialRootPaths中的设置(如果两者都存在)。

  • 分开不同的流体用法!
    给他们不同的路径。有多种方法。我更喜欢:
    每个扩展名在名为扩展名的文件夹中都有自己的三个文件夹。
    并且还将页面渲染和CE(内容元素)分开。您自己的CE可能会被视为扩展名“ FSC”的一部分。

  • 使用附加地址信息。
    所有配置都包含在该扩展名中:打字稿,模板,viewhelpers,TCA,...
    这是该站点的基本配置,也是所用扩展的其他配置/改编。

答案 1 :(得分:-1)

希望这段代码对您有帮助!

page = PAGE
page {
  shortcutIcon = fileadmin/sitedesign/Resources/Private/Templates/Vave/img/Favicon.ico
  10 = FLUIDTEMPLATE
  10 {
    templateName = TEXT
    templateName {
      cObject = TEXT
      cObject {
        data = levelfield:-2,backend_layout_next_level,slide
        override.field = backend_layout
        required = 1
        case = uppercamelcase
        split {
          token = pagets__
          cObjNum = 1
            1.current = 1
        }
      }
      ifEmpty = Innenseite
    }
    #templateName=TEXT
    # templateName.value=index
    layoutRootPaths {
      20 = your layoutRootPaths
    }
    partialRootPaths {
      20 = your partialRootPath
    }
    templateRootPaths {
      20 = your templateRootPath
    }
  }
  includeCSS {
    contactFile1 = fileadmin/sitedesign/Resources/Private/Templates/Vave/Contact/css/Contact.css
  }
}

确保标题正确包含在主模板中