TYPO3 Neos 中的 Typoscript 路径是什么?

What is a Typoscript path in TYPO3 Neos?

谁能解释一下 Typoscript 路径到底是什么,以及它是如何在 TYPO3 Neos 中呈现和使用的?我可以替换特定路径中的 Typoscript 对象吗?

让我们看看这个小片段:

page = Page {
    head {
        stylesheets {
            site = TYPO3.TypoScript:Template {
                templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html'
                sectionName = 'stylesheets'
                node = ${node}
            }
}

然后你有一个 "page.head.stylesheets" 的 TypoScript 路径(赋值的左侧)。 通常 TypoScript 路径由您决定,您可以配置任何您喜欢的 TypoScript 路径。它是一种配置,例如 YAML。某些路径具有特殊含义(如 "page" - 这是页面呈现的默认入口点)和 TypoScript 对象(如 "TYPO3.TypoScript:Template" 具有可在其路径上设置的某些属性)。您可以设置任何您喜欢的路径,它们可能没有用,但可以用来创建特殊功能。

另一个例子:

foo = TYPO.TypoScript:Value
foo.value = 'test'

这里的路径非常明显。 "TYPO.TypoScript:Value"对象只有一个属性"value"。但是 TypoScript 不会阻止您设置其他属性:

foo = TYPO3.TypoScript:Value {
  bar = ${node.property('title')}
  value = ${'Title: ' + this.bar}
}

bar 不为 TypoScript 对象所知,您仍然可以定义它并且可以通过在 EEL 表达式中使用 "this" 变量来引用它。这允许您使用这种 "self defined" 路径将表达式和 TypoScript 对象输出链接在一起。