2017-03-21 9 views
1

これはHow to define and access local variable in Typoscript 2 (Neos)?Fusion(Typoscript 2):親オブジェクトから変数にアクセスするには?私はローカル変数を定義した場合

ためのフォローアップの質問の一種である、私はNeos.Fusion:Caseから、この場合には、他のオブジェクトからアクセスする方法を、以下の例ではmyLocalVarと呼ばれますか?この具体例で

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

:どのように私はNeos.Fusion:Matcher内部からmyLocalVarにアクセスすることができますか?あなただけの値にアクセスできるように、コンテキストがすべての入れ子のオブジェクトに継承され

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

:あなたはコンテキスト変数としてごmyLocalVarを定義する必要がcondition = ${???.myLocalVar[0] == 'aaa'}

+0

小さなヒント:「Neos.Fusion:Case」を使用すると、毎回「Neos.Fusion:Matcher」と書く必要はありません。 – Jon

答えて

4

問題の一部は、条件でありますこのように

a = Neos.Fusion:Matcher { 
    condition = ${myLocalVar[0] == 'aaa'} 
    renderer = 'first part is aaa' 
} 
+0

"コンテキストはすべてのネストオブジェクトによって継承されています":この情報はまったく間違っていました。私は@contextの正確な役割について迷っていました。ありがとうございました。 – Leif

関連する問題