【问题标题】:How to include Header.html partial in TYPO3 ver 9如何在 TYPO3 版本 9 中包含 Header.html 部分
【发布时间】:2019-04-08 15:00:37
【问题描述】:

我想更改 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 部分也可以工作,因为我可以在 Header Layout Type 字段中选择“Name1”。

但无论我更改 fileadmin Header.html 版本中的哪个部分,都没有任何反应。我检查了 Partials 文件夹的路径和所有内容的拼写一百万次,所以我认为这也不是问题。

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

感谢您的帮助。

【问题讨论】:

    标签: typo3 typoscript partials typo3-9.x


    【解决方案1】:

    不要混用不同用途的液体!

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

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

    如果您使用 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、...
      这是该站点的基本配置,也是所用扩展的附加配置/适配。

    【讨论】:

    • 感谢您的帮助!很好的建议!经过更多研究后,我发现他们将其更改为 lib.contentElement herehere。所以现在它可以工作了。我应该将答案放在我的问题中,还是应该将您的答案标记为正确并添加?抱歉,我是新手。
    • 我更改了 TS 路径并添加了指向有关路径的重大更改的发行说明的链接
    【解决方案2】:

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

    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
      }
    }
    

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

    【讨论】:

    • 不错的页面渲染配置,但问题是关于内容元素的标题部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多