PHPackages                             heimrichhannot/contao-menu-bundle - 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. heimrichhannot/contao-menu-bundle

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

heimrichhannot/contao-menu-bundle
=================================

This bundle adds a multi-level menu module for the Contao CMS.

0.5.7(2y ago)01.6k4[1 issues](https://github.com/heimrichhannot/contao-menu-bundle/issues)LGPL-3.0-or-laterPHPPHP ^7.1||^8.0CI failing

Since Nov 5Pushed 10mo ago6 watchersCompare

[ Source](https://github.com/heimrichhannot/contao-menu-bundle)[ Packagist](https://packagist.org/packages/heimrichhannot/contao-menu-bundle)[ Docs](https://github.com/heimrichhannot/contao-menu-bundle)[ RSS](/packages/heimrichhannot-contao-menu-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (13)Versions (19)Used By (0)

Contao Menu Bundle
==================

[](#contao-menu-bundle)

This bundle adds a multi-level menu module for the Contao CMS.

Features
--------

[](#features)

- submenus are opened by hovering (or by tapping on touch devices)
- works both for mouse and for touch-based devices
- includes a preset template for bootstrap 4 (`nav_huh_menu_bs4`) and 5 (`nav_huh_menu_bs5`)
- define how many levels are collapsed
- define delays for opening and closing submenus

Behavior
--------

[](#behavior)

The menu is based on the `mouseover` event ("hover"). This way it works for both mouse *and* touch-based devices since `mouseover` events are triggered by tap events on most touch devices.

On devices with `window.navigator.maxTouchPoints` being 0, you can also click the submenu headers because submenus are opened by hovering.

Usage
-----

[](#usage)

1. Install the bundle via composer: `composer require heimrichhannot/contao-menu-bundle`
2. Update the database
3. Create a new module of type Menu (H&amp;H)
4. Set the template nav\_huh\_menu\_default to the module
5. Assign it to your layout (preferably in the header)

Technical notes
---------------

[](#technical-notes)

### Events

[](#events)

EventDescription`huhMenu:opening`Thrown after the menu started opening`huhMenu:opened`Thrown after the menu has been opened`huhMenu:closing`Thrown after the menu started closing`huhMenu:closed`Thrown after the menu has been closed### Why can't submenu headers be clicked on multi-touch devices?

[](#why-cant-submenu-headers-be-clicked-on-multi-touch-devices)

Because then submenu entries could never be reached.

### On Microsoft Surface

[](#on-microsoft-surface)

Even in tablet mode the device doesn't throw `touch` but `mouse` events. Also it masquerades as a desktop computer with mouse. Hence it tells the browser that it supports `hovering` (`Modernizr.hovermq` is `true`). So if we'd allow that submenu headers can be tapped and directly opened, this would not only happen if a mouse is attached but also in tablet mode while the user uses his finger. In this case submenu entries could never be reached.

### The menu closes when I hover above a submenu

[](#the-menu-closes-when-i-hover-above-a-submenu)

HTML document have to be in `standards` mode. Make sure is set!

This is in most cases caused by CSS margins. Please only use paddings to adjust dimensions of the menus items. Please make sure that submenus (ul and li) take the space where the cursor can be over.

Known issues
------------

[](#known-issues)

### What about smaller screen dimensions?

[](#what-about-smaller-screen-dimensions)

Currently this menu is only for dimensions like tablet landscape and larger. So please use another module for this case. Nevertheless it's planned for this bundle to support bootstrap's mobile menu for smaller screen dimensions out of the box.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity61

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

Recently: every ~196 days

Total

18

Last Release

839d ago

PHP version history (2 changes)0.0.1PHP ^7.1

0.5.1PHP ^7.1||^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/28ad3224d8727b622ebd229840eea6b9dbcb83eb0bd609e6ce65b614830ff538?d=identicon)[digitales@heimrich-hannot.de](/maintainers/digitales@heimrich-hannot.de)

---

Top Contributors

[![Defcon0](https://avatars.githubusercontent.com/u/1485098?v=4)](https://github.com/Defcon0 "Defcon0 (2 commits)")[![davidsky7](https://avatars.githubusercontent.com/u/89909249?v=4)](https://github.com/davidsky7 "davidsky7 (1 commits)")[![koertho](https://avatars.githubusercontent.com/u/12064642?v=4)](https://github.com/koertho "koertho (1 commits)")[![vvohh](https://avatars.githubusercontent.com/u/75325799?v=4)](https://github.com/vvohh "vvohh (1 commits)")

---

Tags

menucontao

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/heimrichhannot-contao-menu-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/heimrichhannot-contao-menu-bundle/health.svg)](https://phpackages.com/packages/heimrichhannot-contao-menu-bundle)
```

###  Alternatives

[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[madeyourday/contao-rocksolid-custom-elements

Create your own, nestable content elements using a modular system. End the WYSIWYG chaos with your own content elements.

50341.9k12](/packages/madeyourday-contao-rocksolid-custom-elements)[dklemmt/contao_dk_mmenu

Implementation of mmenu as an extension for the Contao Open Source CMS.

1578.7k](/packages/dklemmt-contao-dk-mmenu)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3183.3k6](/packages/codefog-contao-news-categories)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18147.9k9](/packages/terminal42-contao-folderpage)[inspiredminds/contao-wowjs

Integrates WOW.js for Contao content elements and form fields.

1813.0k](/packages/inspiredminds-contao-wowjs)

PHPackages © 2026

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