如何在 TYPO3 版本 9 中包含 Header.html 部分
How to include Header.html partial in TYPO3 ver 9
我想在 TYPO3 中更改 Header 的布局。关于这个有一个 post 但是这个但是我无法让它工作并且 post 已经 2 岁了。使用 TYPO3,大多数东西很快就会过时。这就是。
此外,我还查看了这个 article。我知道它是德语的,也许它有帮助。
所以我从TYPO3系统文件中复制了Header.html,把它放在fileadmin下的一个目录中,然后尝试link到那个目录。
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 部分也可以正常工作,因为我可以在 Header 布局类型字段中 select "Name1"。
但是无论我更改 fileadmin Header.html 版本的哪一部分,都没有任何反应。我检查了那个 Partials 文件夹的路径和所有内容的拼写一百万次,所以我认为这也不是问题所在。
当然我可以只更改系统文件Header.html,但这在很多层面上似乎都是错误的。
感谢您的帮助。
希望这段代码能帮到你!!
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
}
}
确保 header 正确包含在主模板中
不要混合使用不同用途的液体!
您想更改内容元素的 header 部分。
但是你把新的部分添加到页面渲染的流畅性中。
如果您使用 FSC(流体样式内容),您的其他部分路径应位于此处:
lib.contentElement {
partialRootPaths {
10 = fileadmin/Resources/Private/Partials
}
}
breaking change: lib.contentElement
instead of lib.fluidContent
补充建议:
注意名称:除了 partialRootPaths
有时存在 partialRootPath
(最后没有 s
),即 不是 一个 object 数组。这使您可以仅设置 一个 路径(不是具有优先级的通常路径列表)并且优先于 partialRootPaths
中的设置(如果两者都存在)。
将不同的流体用途分开!
给他们不同的路径。有多种方法。我更喜欢:
每个扩展程序在以扩展程序命名的文件夹中都有自己的三个文件夹。
并且还将页面呈现和 CE(内容元素)分开。您自己的 CE 可能会被视为扩展 'FSC'.
的一部分
使用站点扩展。
所有配置都进入该扩展:typoscript、templates、viewhelpers、TCA、...
这是该站点的基本配置,也是使用的扩展的附加配置/适配。
我想在 TYPO3 中更改 Header 的布局。关于这个有一个 post 但是这个但是我无法让它工作并且 post 已经 2 岁了。使用 TYPO3,大多数东西很快就会过时。这就是
所以我从TYPO3系统文件中复制了Header.html,把它放在fileadmin下的一个目录中,然后尝试link到那个目录。
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 部分也可以正常工作,因为我可以在 Header 布局类型字段中 select "Name1"。
但是无论我更改 fileadmin Header.html 版本的哪一部分,都没有任何反应。我检查了那个 Partials 文件夹的路径和所有内容的拼写一百万次,所以我认为这也不是问题所在。
当然我可以只更改系统文件Header.html,但这在很多层面上似乎都是错误的。
感谢您的帮助。
希望这段代码能帮到你!!
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
}
}
确保 header 正确包含在主模板中
不要混合使用不同用途的液体!
您想更改内容元素的 header 部分。
但是你把新的部分添加到页面渲染的流畅性中。
如果您使用 FSC(流体样式内容),您的其他部分路径应位于此处:
lib.contentElement {
partialRootPaths {
10 = fileadmin/Resources/Private/Partials
}
}
breaking change: lib.contentElement
instead of lib.fluidContent
补充建议:
注意名称:除了
partialRootPaths
有时存在partialRootPath
(最后没有s
),即 不是 一个 object 数组。这使您可以仅设置 一个 路径(不是具有优先级的通常路径列表)并且优先于partialRootPaths
中的设置(如果两者都存在)。将不同的流体用途分开!
给他们不同的路径。有多种方法。我更喜欢:
每个扩展程序在以扩展程序命名的文件夹中都有自己的三个文件夹。
并且还将页面呈现和 CE(内容元素)分开。您自己的 CE 可能会被视为扩展 'FSC'. 的一部分
使用站点扩展。
所有配置都进入该扩展:typoscript、templates、viewhelpers、TCA、...
这是该站点的基本配置,也是使用的扩展的附加配置/适配。