# Navigation Fusion Object - uses Neos.Neos:Menu and is rendering menus inserted as content elements prototype(Neos.NodeTypes.Navigation:Navigation) < prototype(Neos.Neos:Menu) { startingPoint = ${q(node).property('startingPoint') ? q(node).property('startingPoint') : documentNode} itemCollection = ${Array.isEmpty(q(node).property('selection') ? q(node).property('selection') : {}) ? null : q(node).property('selection')} entryLevel = ${q(node).property('startLevel')} entryLevel.@process.1 = ${String.toInteger(value)} maximumLevels = ${q(node).property('maximumLevels')} maximumLevels.@process.1 = ${String.toInteger(value)} attributes.class.@process.nodeType = ${Array.push(value, String.toLowerCase(String.pregReplace(node.nodeTypeName, '/[[:^alnum:]]/', '-')))} active.attributes = Neos.Fusion:DataStructure { class = 'active' } current.attributes = Neos.Fusion:DataStructure { class = 'current' } normal.attributes = Neos.Fusion:DataStructure { class = 'normal' } node = ${node} renderer > renderer = afx` ` @process.contentElementWrapping = Neos.Neos:ContentElementWrapping @cache { mode = 'cached' entryIdentifier { documentNode = ${Neos.Caching.entryIdentifierForNode(documentNode)} node = ${Neos.Caching.entryIdentifierForNode(node)} } entryTags { 1 = ${Neos.Caching.nodeTypeTag('Neos.Neos:Document', node)} 2 = ${Neos.Caching.nodeTag(node)} } } }