1

这是关于如何在 Typoscript 2 (Neos) 中定义和访问局部变量的后续问题

如果我定义了一个局部变量,myLocalVar在下面的示例中调用,我如何从其他对象访问它,在这种情况下是从Neos.Fusion:Case

prototype(Some.Namespace:SomeNodeType) < prototype(TYPO3.Neos:Content) {
    myLocalVar = ${String.split(q(node).property('example'), '/', 2)}

    myResult = Neos.Fusion:Case {
        a = Neos.Fusion:Matcher {
            condition = ${???.myLocalVar[0] == 'aaa'}
            renderer = 'first part is aaa'
        }
        b = Neos.Fusion:Matcher {
            condition = ${???.myLocalVar[0] == 'bbb'}
            renderer = 'first part is bbb'
        }
    }
}

在这个具体示例中:如何myLocalVar从内部访问Neos.Fusion:Matcher

有问题的部分是条件:condition = ${???.myLocalVar[0] == 'aaa'}

4

1 回答 1

4

您需要将 myLocalVar 定义为上下文变量:

@context.myLocalVar = ${String.split(q(node).property('example'), '/', 2)}

上下文由所有嵌套对象继承,因此您可以像这样访问值

a = Neos.Fusion:Matcher {
    condition = ${myLocalVar[0] == 'aaa'}
    renderer = 'first part is aaa'
}
于 2017-03-21T17:55:21.267 回答