PHPackages                             carbon/navigation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. carbon/navigation

ActiveNeos-carbon[Utility &amp; Helpers](/categories/utility)

carbon/navigation
=================

Navigation and frontend redirect helper for Neos CMS

5.3.0(4y ago)12.6k1GPL-3.0-or-later

Since Jun 5Pushed 4y ago2 watchersCompare

[ Source](https://github.com/CarbonPackages/Carbon.Navigation)[ Packagist](https://packagist.org/packages/carbon/navigation)[ Fund](https://www.paypal.me/Jonnitto/20eur)[ GitHub Sponsors](https://github.com/jonnitto)[ RSS](/packages/carbon-navigation/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (3)Versions (27)Used By (0)

[![Latest stable version](https://camo.githubusercontent.com/5a9a7645170adefbb3c5d893eaa410283bf9514a7c23816bc134114e2a09a457/68747470733a2f2f706f7365722e707567782e6f72672f636172626f6e2f6e617669676174696f6e2f762f737461626c65)](https://packagist.org/packages/carbon/navigation) [![Total downloads](https://camo.githubusercontent.com/f08ee456065f4bbab52df14b74d44b1b1b947570bad05beebc8fd3e90a721186/68747470733a2f2f706f7365722e707567782e6f72672f636172626f6e2f6e617669676174696f6e2f646f776e6c6f616473)](https://packagist.org/packages/carbon/navigation) [![License](https://camo.githubusercontent.com/36d9f42aad269cb1533fe072cbd105b13c0dc2bd2571af8fad82d1c5b03e7c4a/68747470733a2f2f706f7365722e707567782e6f72672f636172626f6e2f6e617669676174696f6e2f6c6963656e7365)](https://packagist.org/packages/carbon/navigation) [![GitHub forks](https://camo.githubusercontent.com/28883e0beca9de2c0b856348972579fa3afc898758e723ca02caa3d7e71a505a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f436172626f6e5061636b616765732f436172626f6e2e4e617669676174696f6e2e7376673f7374796c653d736f6369616c266c6162656c3d466f726b)](https://github.com/CarbonPackages/Carbon.Navigation/fork) [![GitHub stars](https://camo.githubusercontent.com/bf7bdf0185597cd5b09d69b1a018a6db2d414a1651ed26a794bbf02592153430/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f436172626f6e5061636b616765732f436172626f6e2e4e617669676174696f6e2e7376673f7374796c653d736f6369616c266c6162656c3d5374617273)](https://github.com/CarbonPackages/Carbon.Navigation/stargazers) [![GitHub watchers](https://camo.githubusercontent.com/e5ba6cb27f71d9608046fa399448bf1f9269b3bab9ed3f6a8472cb51e8ae3346/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f436172626f6e5061636b616765732f436172626f6e2e4e617669676174696f6e2e7376673f7374796c653d736f6369616c266c6162656c3d5761746368)](https://github.com/CarbonPackages/Carbon.Navigation/subscription)

Carbon.Navigation Package for Neos CMS
======================================

[](#carbonnavigation-package-for-neos-cms)

This package provides various helps for implementing navigations in your Neos site.

NodeTypes
=========

[](#nodetypes)

All Node Types are marked as abstract. So you have to include them as supertypes if you want to use them. You can read more about Node Type definition [here](https://neos.readthedocs.io/en/stable/CreatingASite/NodeTypes/NodeTypeDefinition.html).

`Carbon.Navigation:NotInMenu`
-----------------------------

[](#carbonnavigationnotinmenu)

Hide the property `_hiddenInIndex`. Defined in [NodeTypes.NotInMenu.yaml](Configuration/NodeTypes.NotInMenu.yaml)

`Carbon.Navigation:HideSeo`
---------------------------

[](#carbonnavigationhideseo)

Turn off all type of SEO properties. Defined in [NodeTypes.HideSeo.yaml](Configuration/NodeTypes.HideSeo.yaml)

`Carbon.Navigation:RedirectToParentPage`
----------------------------------------

[](#carbonnavigationredirecttoparentpage)

(Only in the live context) Redirect the user to the parent page. Defined in [NodeTypes.RedirectToParentPage.yaml](Configuration/NodeTypes.RedirectToParentPage.yaml) and [ToParentPage.fusion](Resources/Private/Fusion/Redirect/ToParentPage.fusion)

`Carbon.Navigation:RedirectToFirstChildPage`
--------------------------------------------

[](#carbonnavigationredirecttofirstchildpage)

(Only in the live context) Redirect the user to the first child page, if available. If not, the user gets redirected to the parent page. Defined in [NodeTypes.RedirectToFirstChildPage.yaml](Configuration/NodeTypes.RedirectToFirstChildPage.yaml) and [ToFirstChildPage.fusion](Resources/Private/Fusion/Redirect/ToFirstChildPage.fusion)

`Carbon.Navigation:References`
------------------------------

[](#carbonnavigationreferences)

Insert a property called `navigationreferences`. It is handy if you want to create a navigation and wants to let the editor to choose which documents should be included. However, you can also pass a custom collection to the Fusion prototype. Defined in [NodeTypes.References.yaml](Configuration/NodeTypes.References.yaml) and [References.fusion](Resources/Private/Fusion/References/References.fusion)

Menu Fusion prototypes
======================

[](#menu-fusion-prototypes)

You can edit the default behavior of each fusion prototype in your [Settings.yaml](Configuration/Settings.yaml). You can set the configuration via Settings.yaml or directly in the corresponding Fusion prototype. The Setting is here to provide an easy way to change some basics without writing Fusion code. If you don't have any entries, no markup at all gets rendered. No more empty `` anymore!

Properties for all menu prototypes
----------------------------------

[](#properties-for-all-menu-prototypes)

PropertyDescription`namespace`(string) You can easily change the namespace of the navigation. Useful if you have multiple navigations on your page. Defaults to the name of the prototype`wrapText`(boolean || string) If `true`, the text inside the `a` gets wrapped with a `span`. If it is a string, this string will become the tag name. Defaults to `false``listTag`The tag of the full navigation gets wrapped. If it set to `false`, the navigation gets no surrounding tag. Defaults to `'ul'``elementTag`The tag a navigation entry gets wrapped. If it set to `false`, the entry gets no surrounding tag. Defaults to `'li'``renderClass`(array) The array which defines the css classes for the menu. Read more about this [here](#therenderclass)### The renderClass

[](#the-renderclass)

The `renderClass` entry in the setting for each menu type defines the CSS classes for this particular menu. It has three subkeys: `list`, `element` and `link`. Everyone of this key as further entries. If the keys are set to `false`, this type of class gets not rendered.

KeyDescription`entryLevel`(boolean) Render a class with the entry level`menuLevel`(boolean) Render a class with the menu level`subpages`(boolean) Render a class who indicate if the node has subpages (shown in the menu) or not`isFirst`(boolean) Render a class who indicate the first item in the list`isLast`(boolean) Render a class who indicate the last item in the list`state`(array) Render classes who indicates which state (`normal`, `active`, `current` or `absent`) the node has. The values of the states can be `false`, a string or an array. If it is set to an array, the entry get multiple classes for this particular state`dimension`(array) Used only in the dimension menu. You can set if the dimension entry gets also a class with the dimension name (`key`) and/or the name with the uriPathSegment (`value`). Very useful if you want to use flags or icons in your dimension menuLook at [Settings.yaml](Configuration/Settings.yaml) for the default values for the different menu types

`Carbon.Navigation:Mixin`
-------------------------

[](#carbonnavigationmixin)

Basic Mixin for Menus. Based on [Neos.Neos:MenuItems](https://neos.readthedocs.io/en/stable/References/NeosFusionReference.html#neos-neos-menuitems).

Defined in [Mixin.fusion](Resources/Private/Fusion/Menu/Mixin.fusion)

`Carbon.Navigation:Menu`
------------------------

[](#carbonnavigationmenu)

Render a menu with items for nodes. Based on `Neos.Neos:MenuItems`. Besides the [default properties](#propertiesforallmenuprototypes) following properties are available:

PropertyDescription`maximumLevels`(integer) Restrict the maximum depth of items in the menu (relative to `entryLevel`) . Defaults to `2``filter`(string) Filter items by node type, defaults to `'Neos.Neos:Document,!Carbon.Navigation:NotInMenu'``showHome`(boolean) If set to `true`, the homepage link gets rendererd in the menu. Defaults to `false``homeLabel`(string) Replace the label from `site`. If set to `false`, the label from the site itself get used.`entryLevel`(integer) Start the menu at the given depth. If no `startingPoint` is set, it is defaults to `1`, otherwise `0``startingPoint`(Node) The parent node of the first menu level`lastLevel`(integer) Restrict the menu depth by node depth (relative to site node)`renderHiddenInIndex`(boolean) Whether nodes with `hiddenInIndex` should be rendered, defaults to `false``itemCollection`(array) Explicitly set the Node items for the menu (alternative to `startingPoints` and levels)Defined in [Menu.fusion](Resources/Private/Fusion/Menu/Menu.fusion)

`Carbon.Navigation:References`
------------------------------

[](#carbonnavigationreferences-1)

Provides a list of links, based on nodes which are set in the inspector. Based on `Carbon.Navigation:Mixin`. `itemCollection` is set to the closest instance of `Carbon.Navigation:References` who has the property `navigationreferences` set. `maximumLevels` defaults to `1` and `renderHiddenInIndex` defaults to `true`.

Defined in [References.fusion](Resources/Private/Fusion/References/References.fusion)

`Carbon.Navigation:Breadcrumb`
------------------------------

[](#carbonnavigationbreadcrumb)

Provides a breadcrumb navigation based on the current node. Based on `Carbon.Navigation:Mixin`. `listTag` defaults to `'ol'`.

PropertyDescription`showHome`(boolean) If set to `true`, the homepage link gets rendererd in the menu. Defaults to `false``homeLabel`(string) Replace the label from `site`. If set to `false`, the label from the site itself get used.Defined in [Breadcrumb.fusion](Resources/Private/Fusion/Menu/Breadcrumb.fusion)

`Carbon.Navigation:Dimensions`
------------------------------

[](#carbonnavigationdimensions)

Create links to other node variants (e.g., variants of the current node in other dimensions) by using this Fusion object. Extends [Neos.Neos:DimensionsMenu](https://neos.readthedocs.io/en/stable/References/NeosFusionReference.html#neos-neos-dimensionsmenu). If no specific `dimension` is set, the `Neos.Neos:DimensionsMenu` prototype output the label from the node, and not the dimensions label. This prototype also fixes this wrong behavior.

PropertyDescription`renderCurrent`(boolean) If set to `false` the current dimension didn't get rendered. Defaults to `true``dimension`(optional, string) name of the dimension which this menu should be based on. Example: `'language'`.`presets`(optional, array): If set, the presets rendered will be taken from this list of preset identifiers`includeAllPresets`(boolean) If set to `true`, include all presets, not only allowed combinations. Defaults to `false``renderHiddenInIndex`(boolean) Whether nodes with hiddenInIndex should be rendered, defaults to `true``useUriSegmentAsLabel`(boolean) If set to true, the uri segment will get used as label, defaults to `false``mulitipleDimensionDivider`(string) String to divide multiple dimensions (if no specific `dimension` is set), defaults to `-`Defined in [Dimensions.fusion](Resources/Private/Fusion/Menu/Dimensions.fusion)

`Carbon.Navigation:Label`
-------------------------

[](#carbonnavigationlabel)

A small helper to get the label for an menu entry. Per default, it reads the `item.label` property. If you want to output just the title you can edit the prototye e. g. like this;

```
prototype(Carbon.Navigation:Label) {
    renderer = ${q(props.item.node).property('title')}
}
```

Defined in [Label.fusion](Resources/Private/Fusion/Menu/Label.fusion)

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 94.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~56 days

Recently: every ~114 days

Total

26

Last Release

1501d ago

Major Versions

3.2.2 → 4.0.02019-04-20

3.3.0 → 4.0.12019-09-23

3.3.2 → 5.02020-05-14

3.4.0 → 5.1.12021-01-01

v3.x-dev → 5.1.22021-08-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/5fec51ac160a110a31a72a54ac29e276a447d8306205a052d35491ac9cf0589b?d=identicon)[jonnitto](/maintainers/jonnitto)

---

Top Contributors

[![jonnitto](https://avatars.githubusercontent.com/u/4510166?v=4)](https://github.com/jonnitto "jonnitto (35 commits)")[![rolandschuetz](https://avatars.githubusercontent.com/u/735982?v=4)](https://github.com/rolandschuetz "rolandschuetz (2 commits)")

---

Tags

carbonnavigationneoscmsredirecthelpercarbonredirectnavigationflowNeosFUSION

### Embed Badge

![Health badge](/badges/carbon-navigation/health.svg)

```
[![Health](https://phpackages.com/badges/carbon-navigation/health.svg)](https://phpackages.com/packages/carbon-navigation)
```

###  Alternatives

[carbon/includeassets

Include your assets (css, js) in an easy way into Neos

14228.6k10](/packages/carbon-includeassets)[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

1494.4k6](/packages/shel-neos-colorpicker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
