1 # Basic implementation of a flexible MultiColumn element, not exposed directly but inherited by all specific MultiColumn content elements 2 prototype(Neos.NodeTypes.ColumnLayouts:MultiColumn) < prototype(Neos.Neos:Content) { 3 templatePath = 'resource://Neos.NodeTypes.ColumnLayouts/Private/Templates/NodeTypes/MultiColumn.html' 4 layout = ${q(node).property('layout')} 5 attributes.class = ${'container columns-' + q(node).property('layout')} 6 columns = Neos.Fusion:Loop { 7 @context.columnLayout = ${q(node).property('layout')} 8 items = ${q(node).children('[instanceof Neos.Neos:ContentCollection]')} 9 itemRenderer = Neos.NodeTypes.ColumnLayouts:MultiColumnItem 10 itemName = 'node' 11 iterationName = 'columnIteration' 12 } 13 } 14 15 # Abstract render definition for a single content column in a multi column element 16 prototype(Neos.NodeTypes.ColumnLayouts:MultiColumnItem) < prototype(Neos.Neos:ContentCollection) { 17 nodePath = '.' 18 attributes = Neos.Fusion:Attributes { 19 class = 'column' 20 } 21 } 22 23 # Two Column TS Object 24 prototype(Neos.NodeTypes.ColumnLayouts:TwoColumn) > 25 prototype(Neos.NodeTypes.ColumnLayouts:TwoColumn) < prototype(Neos.NodeTypes.ColumnLayouts:MultiColumn) 26 27 # Three Column TS Object 28 prototype(Neos.NodeTypes.ColumnLayouts:ThreeColumn) > 29 prototype(Neos.NodeTypes.ColumnLayouts:ThreeColumn) < prototype(Neos.NodeTypes.ColumnLayouts:MultiColumn) 30 31 # Four Column TS Object 32 prototype(Neos.NodeTypes.ColumnLayouts:FourColumn) > 33 prototype(Neos.NodeTypes.ColumnLayouts:FourColumn) < prototype(Neos.NodeTypes.ColumnLayouts:MultiColumn)