[SOLVED] Array-Objekt wird von Array.join() nicht erkannt


(Werner Schröter) #1

Hallo,

ich weiss nicht, warum das erzeugte Array mit dem Array.join() Operator nicht funktioniert.

    classCollums = Neos.Fusion:Array {
        small = ${q(node).property('colums_sm')}
        mid = ${q(node).property('colums_md')}
        large = ${q(node).property('colums_lg')}
        xLarge = ${q(node).property('colums_xl')}
    }
    ausgabe = ${Array.join(classCollums, ' ')}
ausgabe = ${Array.join(${classCollums}, ' ')}

Funktioniert leider auch nicht.

Hat jemand eine Ide, was ich falsch mache?

VG
Werner


(Martin Ficzel) #2

Du machst hier zwei kleine Fehler:

  1. Neos.Fusion:Array machst bereits das Verbinden der Einträge allerdings nicht mit " " sonder mit “” um ein Array als Ergebnis zu erhalten kannst Du einfach Neos.Fusion:RawArray nutzen.

  2. Um auf einen Fusion-Wert auf der aktuellen ebene zuzugreifen musst du “this” nutzen es muss also ausgabe = ${Array.join(this.classCollums, ' ')} heißen. Um direkt ohne this auf den wert zuzugreifen müsste der mittels @context.classCollums = ... im aktuellen Kontext definiert werden.


(Werner Schröter) #3

Danke für die Hilfe!
Die Lösung sieht jetzt so aus und funktioniert prächtig.

 classCollums = Neos.Fusion:RawArray {
        small = ${q(node).property('colums_sm')}
        mid = ${q(node).property('colums_md')}
        large = ${q(node).property('colums_lg')}
        xLarge = ${q(node).property('colums_xl')}
    }
    ausgabe = ${Array.join(this.classCollums, ' ')}