PHPackages                             localgovdrupal/localgov\_menu\_link\_group - 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. localgovdrupal/localgov\_menu\_link\_group

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

localgovdrupal/localgov\_menu\_link\_group
==========================================

Present Drupal's menu links in groups.

1.1.8(1y ago)0107.4k↓23.1%1[1 issues](https://github.com/localgovdrupal/localgov_menu_link_group/issues)2GPL-2.0-or-laterPHPCI passing

Since Aug 21Pushed 1y ago6 watchersCompare

[ Source](https://github.com/localgovdrupal/localgov_menu_link_group)[ Packagist](https://packagist.org/packages/localgovdrupal/localgov_menu_link_group)[ Docs](https://github.com/localgovdrupal/localgov_menu_link_group)[ RSS](/packages/localgovdrupal-localgov-menu-link-group/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelog (10)DependenciesVersions (32)Used By (2)

LocalGov Menu link group
========================

[](#localgov-menu-link-group)

What is it?
-----------

[](#what-is-it)

This Drupal module allows you to bundle several menu links into a group. This is useful when you want to breakdown a long list of menu links into several smaller groups for better user experience.

As an example, imagine having a long list of content types: Banana, Blackbird, Bat, Cat, Elephant, Magpie, Orange, and Watermelon. If you are using [Admin Toolbar Extra Tools](https://www.drupal.org/project/admin_toolbar) or a similar module, these content types will appear as a flat list of menu links under Drupal's **Add content** menu item. This module can help you group these menu links into severel smaller groups such as the following:

```
-- Add content
---- Birds
------ Blackbird
------ Magpie
---- Fruits
------ Banana
------ Orange
------ Watermelon
---- Mammals
------ Bat
------ Cat
------ Elephant

```

Here we have defined the Birds, Fruits, and Mammals groups and decided which menu links belong to each group.

This grouping functionality is not limited to content types only. It can be applied to any menu link.

Usage
-----

[](#usage)

- Install the localgov\_menu\_link\_group module in the usual way.
- Login as a site admin or any other user with the **administer site configuration** permission.
- Head to /admin/structure/menu/localgov\_menu\_link\_group
- Add a new Menu link group.
- While adding the group, decide where in the menu tree this group should appear. Choose your selection from the **Parent menu link** dropdown.
- Use the **Child menu links** dropdown to select the menu links that should come under this new group.
- Save the Group form.
- A menu link with your choosen group label should appear in the menu tree under your choosen parent menu link. This menu link is not clickable.
- Hovering over this menu link should reveal its child menu links.

Good to know
------------

[](#good-to-know)

- If you have the [multiselect](https://www.drupal.org/project/multiselect) Drupal module installed, the *Child menu links* dropdown would make use of that resulting in better user experience.
- The **weight** value of each group can be adjusted in two ways:
    - From the Group add/edit form.
    - By drag-and-drop from the group listing page at /admin/structure/menu/localgov\_menu\_link\_group
- The group configurations are fully exportable and importable like any other Drupal configuration file.

Developer notes
---------------

[](#developer-notes)

Menu link groups are stored as config entities. This means other modules can provide new menu link groups or add menu links to existing menu link groups. The [localgov\_services module is a good example](https://github.com/localgovdrupal/localgov_services/blob/2.x/config/optional/localgov_menu_link_group.localgov_menu_link_group.localgov_menu_link_group_services.yml) of a module that defines a new menu link group.

If, on the other hand, we want to add menu links to an **existing** menu link group, we need to ensure the `group_label` and `parent_menu_link` keys in the config file are assigned the same value as the target menu link group and its parent. In the following example, we have copied an existing config item, and are adding two new menu links to the existing `Services` menu link group with a new config ID `localgov_menu_link_group_foo`:

```
langcode: en
status: true
dependencies:
  enforced:
    module:
      - localgov_services
      - localgov_menu_link_group
id: localgov_menu_link_group_foo
group_label: Services
weight: 9
parent_menu: admin
parent_menu_link: 'admin_toolbar_tools.extra_links:node.add'
child_menu_links:
  - 'admin_toolbar_tools.extra_links:node.add.foo'
  - 'admin_toolbar_tools.extra_links:node.add.bar'

```

The above should go into the `localgov_menu_link_group.localgov_menu_link_group.localgov_menu_link_group_foo.yml` file and placed within the `config/optional/` directory of a module.

Todo
----

[](#todo)

- Unit tests.

Maintainers
-----------

[](#maintainers)

This project is currently maintained by:

- Finn Lewis:
- Stephen:
- Adnan:
- Andy Broomfield:

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance47

Moderate activity, may be stable

Popularity31

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~120 days

Recently: every ~56 days

Total

15

Last Release

392d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/dd550678a915c9a6d451d08851556a1c866f8cc7c0e3f864b498a45d4d930577?d=identicon)[stephen-cox](/maintainers/stephen-cox)

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

![](https://www.gravatar.com/avatar/848d88262b2f9d984d12b55bd4a2e2f0e1d3c7abe9c63fc5cc13ecbab75cd19e?d=identicon)[ekes](/maintainers/ekes)

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

![](https://www.gravatar.com/avatar/b34de4d6c68a26fa8eb3fd78cf8040597decc2fdcd4776f8fd704686adcb5a99?d=identicon)[Adnan-cds](/maintainers/Adnan-cds)

---

Top Contributors

[![Adnan-cds](https://avatars.githubusercontent.com/u/50206849?v=4)](https://github.com/Adnan-cds "Adnan-cds (17 commits)")[![stephen-cox](https://avatars.githubusercontent.com/u/7189914?v=4)](https://github.com/stephen-cox "stephen-cox (14 commits)")[![finnlewis](https://avatars.githubusercontent.com/u/326588?v=4)](https://github.com/finnlewis "finnlewis (10 commits)")[![millnut](https://avatars.githubusercontent.com/u/8024370?v=4)](https://github.com/millnut "millnut (7 commits)")[![andybroomfield](https://avatars.githubusercontent.com/u/1467480?v=4)](https://github.com/andybroomfield "andybroomfield (6 commits)")[![ekes](https://avatars.githubusercontent.com/u/237186?v=4)](https://github.com/ekes "ekes (1 commits)")[![adammilward](https://avatars.githubusercontent.com/u/2379055?v=4)](https://github.com/adammilward "adammilward (1 commits)")

### Embed Badge

![Health badge](/badges/localgovdrupal-localgov-menu-link-group/health.svg)

```
[![Health](https://phpackages.com/badges/localgovdrupal-localgov-menu-link-group/health.svg)](https://phpackages.com/packages/localgovdrupal-localgov-menu-link-group)
```

###  Alternatives

[wpbp/generator

Generator of Wordpress Plugin Boilerplate Powered

832.3k](/packages/wpbp-generator)[rumenx/php-seo

AI-powered, framework-agnostic PHP package for automated SEO optimization. Intelligently generates meta tags, titles, descriptions, and alt texts using configurable AI providers or manual patterns.

102.0k](/packages/rumenx-php-seo)

PHPackages © 2026

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