PHPackages                             pensoft/oc-menumanager-plugin - 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. pensoft/oc-menumanager-plugin

ActiveOctober-plugin

pensoft/oc-menumanager-plugin
=============================

Menu Manager plugin for OctoberCMS

1.5.2(1mo ago)020PHPPHP &gt;=8.0

Since Mar 4Pushed 1mo agoCompare

[ Source](https://github.com/pensoft/oc-menumanager-plugin)[ Packagist](https://packagist.org/packages/pensoft/oc-menumanager-plugin)[ RSS](/packages/pensoft-oc-menumanager-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

OctoberCMS Menu Manager Plugin
==============================

[](#octobercms-menu-manager-plugin)

After installation you are able to add, edit and remove Menus from your site.

A component is included to output the menu in pages/partials/layout. It can include up to 3 levels of content. Add it as you would any other component.

Versions
--------

[](#versions)

**Currently 1.5.3**

### 1.5.3

[](#153)

- Added ability to delete menu items thanks [@osmanzeki](https://github.com/osmanzeki)

### 1.5.2

[](#152)

- Added French Translations, thanks [@Glitchbone](https://github.com/Glitchbone)
- Added code of conduct

### 1.5.1

[](#151)

- Add homepage for plugin details, thanks [@gegor85](https://github.com/gergo85)
- Added a couple of missing translations

### 1.5.0

[](#150)

- Added support for postgres and sqlite by fixing migrations and updating mutator and accessors

### 1.4.8

[](#148)

- Merged PR to fix re-order errors. Thanks [@CptMeatball](https://github.com/CptMeatball)

### 1.4.7

[](#147)

- Merged PR to fix syntax errors with fresh install of 1.4.6. Thanks [@devlifeX](https://github.com/devlifeX)

### 1.4.6

[](#146)

- Merged PRs that fix bug with plugin not working with stable release

### 1.4.5

[](#145)

- Fixed bug where getBaseFileName method was moved to a different object

### 1.4.4

[](#144)

- Fixed bug with incorrect labels. Thanks @ribsousa

### 1.4.3

[](#143)

- Fixed bug where getBaseFileName method was moved to a different object

### 1.4.2

[](#142)

- Fixed bug where url field was not saving. Refactored code to use a Laravel Mutator.

### 1.4.1

[](#141)

- Fixed bug caused by deleting method I shouldn't have. Thanks @MatissJA

### 1.4.0

[](#140)

- Multiple bug fixes due to new features in OctoberCMS
- Ability to translate added
- Ability to add fragments to URL added

### 1.3.4

[](#134)

- JSON validation now works

### 1.3.3

[](#133)

- Fixed typo in JSON help text

### 1.3.2

[](#132)

- Bug fixed where param checking breaks active query. Thanks @alxy

### 1.3.1

[](#131)

- Bug fixed where incorrect active menu was set
- JSON validation of parameters has been added
- Both courtesy of @whsol

### 1.3.0

[](#130)

- Added translations

### 1.2.0

[](#120)

- Added list item classes; Fixed validation and admin bugs

### 1.1.3

[](#113)

- Fixed bug that prevented multiple components showing on the same page

### 1.1.2

[](#112)

- Reformatted admin interface to make more sense (possibly just to me ...)
- Removed CSS and JS partial, and replaced with an asset JS file
- Added escaping to any query string values used on a menu item
- Small updates to text to make more sense
- Reformatted some functions for future enhancements

### 1.1.1

[](#111)

- Added ability to enable/disable individual menu links
- Added ability for url parameters &amp; query string
- Fixed issue of "getLinkHref()" pulling through full page url with parameters rather than the ACTUAL page url
- All these changes are courtesy of [@DanielHitchen](https://github.com/DanielHitchen)

### 1.1.0

[](#110)

- Added ability to link to external sites. Thanks [Adis](https://github.com/adisos)

### 1.0.6

[](#106)

- Removed NestedSetModel
- Added NestedTree trait, thanks @daftspunk
- Fixed bug when no menus set, thanks @danielhitchens

### 1.0.5

[](#105)

- Moved link creation code into the model in preperation for external links coming in 1.1.0
- Brought list item class creation into the model
- Fixed typo with default menu class so it will display as pills

### 1.0.4

[](#104)

- Fixed bug where Nested Set traits needed to be included in the class, introduced by CMS upgrade

### 1.0.3

[](#103)

- Menu items no longer need to link anywhere
- Ensured the active node must always be a child of the parent node

### 1.0.2

[](#102)

- Added active classes to component
- Added ability to select a menu item other than the current page as the active item
- Added ability to control depth of menu

### 1.0.1

[](#101)

- Created backend area to manage menu items
- Created backend area to re-order menu items
- Created component to output menu in a page/partial/layout

Roadmap
-------

[](#roadmap)

Please see the [issues register](https://github.com/benfreke/oc-menumanager-plugin/issues), as I have put all my suggested improvements there.

Documentation
=============

[](#documentation)

Available Options
-----------------

[](#available-options)

- **Alias** - This is available to all components and is baked into OctoberCMS
- **Parent Node** - The node to get the children of to create the menu. See the Parent Node section below for further information
- **Active Node** - This is the active page. The default option is the current page, but you can manually set which menu item should be active.
- **Primary Classes** - The classes to add to the parent ul tag. Defaults to "nav nav-pills"
- **Secondary Classes** - The classes to add to the children ul tag. Defaults to "dropdown-menu"
- **Tertiary Classes** - The classes to add to the grandchildren ul tag. Defaults to ""
- **Depth** - How many levels of menu to display. The bootstrap default is 2, so if you do wish to show 3 levels please bear in mind you will need to add your own css to the theme to handle active states.

Adding the component to a Page
------------------------------

[](#adding-the-component-to-a-page)

When editing a page/partial/layout, add the component to the page as you would any other component

```
{% component "menu" %}

```

Inside the widget, you can set the menu class for both the primary and secondary navigation. You also set the parent node at this time.

Behind the scenes
-----------------

[](#behind-the-scenes)

Menu Manager takes advantage of Nested Sets to allow quick traversal and drag and drop functionality. It also makes working out the active page and active parents super simple.

By default no items are created. If you are developing, simply add the seed file back into the update file and run a `php artisan plugin:refresh` on the server to have some date pre-inserted.

The Parent Node
---------------

[](#the-parent-node)

This is the node from which the menu will be populated. The component will collect all the children of this node and create the menu content from these children nodes. For example, consider this default structure based loosely off the October CMS demo pages.

```
- Main Menu
-- Home
--- Plugin Components
--- Ajax Framework

```

If we select "Main Menu" as the Parent Node, we will have 1 menu item visible. This will the title of "Home" and will be a bootstrap style dropdown navigation. Clicking on home will reveal 2 sub-menu items, "Plugin Components" and "Ajax Framework".

If we select "Home" as the Parent Node, we will have 2 menu items visible, "Plugin Components" and "Ajax Framework".

This allows the creation of side navigation relevant to the page you are currently on by re-using the same backend menu but having separate components on the page use different Parent Nodes to change the output.

Other
-----

[](#other)

If you have any suggestions, please [raise an issue](https://github.com/benfreke/oc-menumanager-plugin/issues) on the plugin's [github repository](https://github.com/benfreke/oc-menumanager-plugin).

Thanks / Contributions
----------------------

[](#thanks--contributions)

- Obviously the [OctoberCMS](http://octobercms.com/) creators, [Samuel Georges](https://github.com/daftspunk) and [Aleksey Bobkov](https://github.com/alekseybobkov)
- [DanielHitchen](https://github.com/DanielHitchen) for bug reporting, enhancements and requests/ideas
- [Adis](https://github.com/adisos) for help with the 1.1.x releases

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance89

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

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

Total

3

Last Release

55d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8fb92632a52a188f3c34442b532e0f8d355604ef87577a0d2c37edbdd4e14bd5?d=identicon)[pensoft](/maintainers/pensoft)

---

Top Contributors

[![benfreke](https://avatars.githubusercontent.com/u/2102440?v=4)](https://github.com/benfreke "benfreke (98 commits)")[![adis-io](https://avatars.githubusercontent.com/u/592907?v=4)](https://github.com/adis-io "adis-io (5 commits)")[![MatissJanis](https://avatars.githubusercontent.com/u/886567?v=4)](https://github.com/MatissJanis "MatissJanis (4 commits)")[![alxy](https://avatars.githubusercontent.com/u/2057062?v=4)](https://github.com/alxy "alxy (3 commits)")[![howkins](https://avatars.githubusercontent.com/u/6891179?v=4)](https://github.com/howkins "howkins (3 commits)")[![devlifeX](https://avatars.githubusercontent.com/u/9729973?v=4)](https://github.com/devlifeX "devlifeX (3 commits)")[![kremenakaleva](https://avatars.githubusercontent.com/u/17496703?v=4)](https://github.com/kremenakaleva "kremenakaleva (3 commits)")[![ShahiemS](https://avatars.githubusercontent.com/u/188719889?v=4)](https://github.com/ShahiemS "ShahiemS (2 commits)")[![nnmer](https://avatars.githubusercontent.com/u/1620737?v=4)](https://github.com/nnmer "nnmer (2 commits)")[![pfEugene](https://avatars.githubusercontent.com/u/19717914?v=4)](https://github.com/pfEugene "pfEugene (2 commits)")[![Piterden](https://avatars.githubusercontent.com/u/5930429?v=4)](https://github.com/Piterden "Piterden (2 commits)")[![mahony0](https://avatars.githubusercontent.com/u/2674488?v=4)](https://github.com/mahony0 "mahony0 (1 commits)")[![daftspunk](https://avatars.githubusercontent.com/u/1392869?v=4)](https://github.com/daftspunk "daftspunk (1 commits)")[![benf-mettro](https://avatars.githubusercontent.com/u/4412796?v=4)](https://github.com/benf-mettro "benf-mettro (1 commits)")[![ribsousa](https://avatars.githubusercontent.com/u/2750974?v=4)](https://github.com/ribsousa "ribsousa (1 commits)")[![gergo85](https://avatars.githubusercontent.com/u/2959112?v=4)](https://github.com/gergo85 "gergo85 (1 commits)")[![kksudo](https://avatars.githubusercontent.com/u/8701324?v=4)](https://github.com/kksudo "kksudo (1 commits)")[![Flynsarmy](https://avatars.githubusercontent.com/u/334808?v=4)](https://github.com/Flynsarmy "Flynsarmy (1 commits)")

### Embed Badge

![Health badge](/badges/pensoft-oc-menumanager-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/pensoft-oc-menumanager-plugin/health.svg)](https://phpackages.com/packages/pensoft-oc-menumanager-plugin)
```

###  Alternatives

[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k5](/packages/elgg-elgg)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[johnbillion/user-switching

Instant switching between user accounts in WordPress and WooCommerce.

19768.3k2](/packages/johnbillion-user-switching)[rainlab/blog-plugin

Blog plugin for October CMS

17257.7k](/packages/rainlab-blog-plugin)[rainlab/user-plugin

User plugin for October CMS

11954.3k13](/packages/rainlab-user-plugin)

PHPackages © 2026

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