PHPackages                             studioespresso/craft-navigate - 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. studioespresso/craft-navigate

ActiveCraft-plugin[Utility &amp; Helpers](/categories/utility)

studioespresso/craft-navigate
=============================

Navigation plugin for Craft CMS

5.1.6(3mo ago)2643.2k↓66.7%5[9 PRs](https://github.com/studioespresso/craft-navigate/pulls)1proprietaryPHPCI passing

Since Jul 5Pushed 1w ago2 watchersCompare

[ Source](https://github.com/studioespresso/craft-navigate)[ Packagist](https://packagist.org/packages/studioespresso/craft-navigate)[ RSS](/packages/studioespresso-craft-navigate/feed)WikiDiscussions develop-v5 Synced 2d ago

READMEChangelog (10)Dependencies (6)Versions (98)Used By (1)

Navigate for Craft CMS
======================

[](#navigate-for-craft-cms)

Menu's &amp; navigations made easy.

[![Easy Address Field](https://camo.githubusercontent.com/60c7395458acadf93cef9c0209f80f2b6e6369d91fd5c1f0acda4dedf49b6be8/68747470733a2f2f7777772e73747564696f657370726573736f2e636f2f6173736574732f4e617669676174652d4769746875622d42616e6e65722e706e67)](https://camo.githubusercontent.com/60c7395458acadf93cef9c0209f80f2b6e6369d91fd5c1f0acda4dedf49b6be8/68747470733a2f2f7777772e73747564696f657370726573736f2e636f2f6173736574732f4e617669676174652d4769746875622d42616e6e65722e706e67)

Requirements
------------

[](#requirements)

This plugin works with Craft CMS 3.x, 4.x and 5.x

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

```
    cd /path/to/project
    composer require studioespresso/craft-navigate
    ./craft install/plugin navigate

```

Templating
----------

[](#templating)

### craft.navigate.raw

[](#craftnavigateraw)

`craft.navigate.raw` will give you an array of the items you added to the navigation, with children for each if you have those. For each node you will have access to:

```
{% set nav = craft.navigate.raw('navHandle') %}
{% for node in nav %}
	{{ node.name }}
	{{ node.url }}
	{{ node.classes }}
	{{ node.blank }}
	{{ node.children }}
{% endfor %}
```

This gives you complete control over the HTML &amp; CSS used to display your navigation.

Here's an example of how to show a navigation and it's possible children using a twig macro:

```
{% import _self as macros %}
{% macro renderNode(node) %}
    {% import _self as macros %}

        {{ node.name }}

        {% if node.children|length %}

            {% for child in node.children %}
                {{ macros.renderNode(child) }}
            {% endfor %}

        {% endif %}

{% endmacro %}

    {% for node in nodes %}
        {{ macros.renderNode(node) }}
    {% endfor %}

```

Headings
--------

[](#headings)

Since 2.3.0, headings can be added to make it easier to build larger navigations with mulitple sections or columns. To make full use of this you check check `node.type == "heading"` and add the html you need in the condition.

These only work on multiple levels (eg: 3 headings on the top level, each with navigation items on deeper levels).

Configuration
-------------

[](#configuration)

You can create a file called `navigate.php` in the `config` directory (you can copy [this one](https://github.com/studioespresso/craft3-navigate/blob/master/src/config.php) to start) to manage these settings in your code. The ones listed here are not available through the CP.

### Disabling caching

[](#disabling-caching)

Out of the box, the plugin will cache the querries it makes when `devMode` is not enabled.

If you want to disable caching within the plugin entirely, you can do so by setting `disableCaching` to `true` in the plugin's configuration file. (see example [here](https://github.com/studioespresso/craft3-navigate/blob/master/src/config.php))

### CSS class option list

[](#css-class-option-list)

Instead of the "Classes" field being a plain text field, you can also change it to a predefined dropdown with class that you want to make available for the user. The `nodeClasses` setting takes an array where that contains "Class to be applied" =&gt; "Label to be shown in the cp".

```
"nodeClasses" => [
    '' => '---',
    'nav nav-primary' => "Primary",
    'nav nav-highlight' => 'Highlight'
]
```

Make sure to also include an empty option in case you don't want the the first item to be selected by default

---

Brought to you by [Studio Espresso](https://www.studioespresso.co/)

###  Health Score

61

—

FairBetter than 98% of packages

Maintenance91

Actively maintained with recent releases

Popularity38

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 98.5% 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 ~37 days

Recently: every ~12 days

Total

79

Last Release

44d ago

Major Versions

2.9.1 → 3.1.22023-06-03

3.1.3 → 5.0.0-alpha2023-10-03

3.2.0 → 5.1.02024-04-30

3.2.1 → 5.1.22024-05-16

v5.x-dev → 6.0.0-alpha.12026-05-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/d8c2fa7c41948f5681df5a1696d3cf9654b75fd6fd5904eeb818e3ed7c4b2628?d=identicon)[janhenckens](/maintainers/janhenckens)

---

Top Contributors

[![janhenckens](https://avatars.githubusercontent.com/u/755428?v=4)](https://github.com/janhenckens "janhenckens (604 commits)")[![belkin](https://avatars.githubusercontent.com/u/3419659?v=4)](https://github.com/belkin "belkin (3 commits)")[![lewisjenkins](https://avatars.githubusercontent.com/u/3381958?v=4)](https://github.com/lewisjenkins "lewisjenkins (2 commits)")[![stevecomrie](https://avatars.githubusercontent.com/u/684903?v=4)](https://github.com/stevecomrie "stevecomrie (1 commits)")[![jan-dh](https://avatars.githubusercontent.com/u/5801781?v=4)](https://github.com/jan-dh "jan-dh (1 commits)")[![brandonkelly](https://avatars.githubusercontent.com/u/47792?v=4)](https://github.com/brandonkelly "brandonkelly (1 commits)")[![dowadidi](https://avatars.githubusercontent.com/u/3625639?v=4)](https://github.com/dowadidi "dowadidi (1 commits)")

---

Tags

craft-plugincraftcmscmsCraftcraftcmscraft-pluginnavigationmenusnavigate

### Embed Badge

![Health badge](/badges/studioespresso-craft-navigate/health.svg)

```
[![Health](https://phpackages.com/badges/studioespresso-craft-navigate/health.svg)](https://phpackages.com/packages/studioespresso-craft-navigate)
```

###  Alternatives

[verbb/navigation

Create navigation menus for your site.

92705.0k18](/packages/verbb-navigation)[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k70](/packages/verbb-formie)[verbb/comments

Add comments to your site.

13753.9k](/packages/verbb-comments)[verbb/vizy

A flexible visual editor field for Craft.

4250.4k](/packages/verbb-vizy)[verbb/hyper

A user-friendly links field for Craft.

24147.8k12](/packages/verbb-hyper)[verbb/workflow

Enforce multi-step review processes for creating entries.

138124.2k1](/packages/verbb-workflow)

PHPackages © 2026

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