prototype(Carbon.Navigation:Breadcrumb) < prototype(Carbon.Navigation:Mixin) { node = ${documentNode} showHome = ${Configuration.setting('Carbon.Navigation.Breadcrumb.showHome')} homeLabel = ${Translation.translate('home', 'Home', [], 'Main', 'Carbon.Navigation')} itemCollection = ${q(this.node).parents('[instanceof Neos.Neos:Document]').get()} itemCollection.@process { removeSite = ${Array.pop(value)} sortDesc = ${Array.reverse(value)} } namespace = ${Configuration.setting('Carbon.Navigation.Breadcrumb.namespace')} wrapText = ${Configuration.setting('Carbon.Navigation.Breadcrumb.wrapText')} listTag = ${Configuration.setting('Carbon.Navigation.Breadcrumb.listTag')} elementTag = ${Configuration.setting('Carbon.Navigation.Breadcrumb.elementTag')} renderHiddenInIndex = ${Configuration.setting('Carbon.Navigation.Breadcrumb.renderHiddenInIndex')} renderClass = ${Configuration.setting('Carbon.Navigation.Breadcrumb.renderClass')} renderer.menuItems.@process { addCurrent = Neos.Fusion:Value { // Show always the current node, event when it is hidden in index @if.isNotHome = ${props.node != site} item = Neos.Fusion:DataStructure { node = ${props.node} state = 'current' label = ${this.node.label} } value = ${Array.push(value, this.item)} } addHome = Neos.Fusion:Value { // Show the site node with a special label @if.set = ${props.showHome} item = Neos.Fusion:DataStructure { node = ${site} state = ${documentNode == site ? 'current' : 'active'} label = ${props.homeLabel || this.node.label} } value = ${Array.unshift(value, this.item)} } } }