Mega Menu: setup and help
Quick start
- Upload and install the mprmegamenu ZIP in Modules > Module Manager.
- Open Improve > Mega Menu > Menu Tabs and create a tab with Label, URL Type and the matching destination.
- Keep Active on, save, then open Dropdown Columns.
- Add a category_tree column with an existing category and save the columns.
- Review Products nb and Show prices in Settings > Configuration.
- Open the storefront and test the tab, dropdown and mobile drawer in each language.
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Setup manual
Create top-level tabs
In Menu Tabs, create a tab, save it, then open its Dropdown Columns editor.
| Field | Default | What you enter |
|---|---|---|
| Label | Empty | Required navigation text in each language. |
| URL Type | category |
Category, CMS Page, Custom URL or No link (label only). |
| Reference ID | 0 |
Category ID or CMS page ID for the corresponding URL Type. |
| Custom URL | Empty | Destination used for Custom URL. |
| CSS Class | Empty | Saves a CSS class, which the standard desktop menu does not apply. Applying it requires a theme override. |
| Icon Class | Empty | Saves a Material icon name or Font Awesome class, which the standard desktop menu does not display. |
| Active | On | Hide the tab without deleting it by switching this off. |
| Open in new window | Off | Open the top-level destination in a new window. |
| Position | Next available on a new tab | Reorder the list to change navigation order. |
For a sale link, set Label to Sale, URL Type to Custom URL, Custom URL to your shop's sale path and Active to on. Check the link in every language.
Build dropdown columns
Choose a column type and set its width on the 12-column grid. New columns default to width 3 and type category_tree. The editor allows up to 12 columns; their total width cannot exceed 12. Titles and content are translated. Generated column types use settings rather than translated HTML content.
| Type | Setup |
|---|---|
category_tree |
Choose a parent category, depth from 1 to 5 and optional excluded category IDs. It reads active categories with shop and customer-group access. |
cms_category_tree |
Choose a CMS category, depth from 1 to 5 and optional page icons. It reads active CMS navigation. |
cms_links |
Set cms_ids to the CMS pages you want, in order. |
link_list |
Enter structured link rows with label, URL and optional icon or new-window flag. |
link_groups |
Enter groups with their own links and child links. |
visual_tabs |
Build internal tabs containing size links, image cards, image-only cards or HTML. |
html |
Enter translated HTML. Desktop renders the saved content; mobile extracts supported navigation structures. |
blog_categories |
Use available published blog data. The resolver tries MPR Blog Revolution, then a supported SimpleBlog source. Without a source, no blog categories are supplied. |
image_links |
Image-link rows can be saved, but the standard desktop menu has no dedicated standalone layout for them. |
product_list |
Choose a category and a limit from 1 to 24. Category products use the shared menu product panels rather than a separate standalone column layout. |
The editor validates URLs, references, content types and widths. If another employee saves the same tab, reload its columns before saving again. A stale revision is rejected to prevent overwriting their changes.
For a category tree under category 8, use these settings, replacing all example IDs:
{"id_category":8,"depth":2,"exclude":[15,16]}
For selected CMS pages:
{"cms_ids":[3,4,5]}
Structured rows in the current editor include a row type. A grouped-link content array can be:
[
{
"row_type":"link_group",
"label":"Shopping help",
"url":"/help",
"icon":"help",
"new_window":false,
"children":[
{"row_type":"link","label":"Delivery","url":"/delivery","icon":"local_shipping","new_window":false}
]
}
]
Use existing, localized destinations. Supported URL forms include an anchor, a root-relative path beginning with one slash, or an absolute HTTP/HTTPS URL. Protocol-relative URLs are rejected.
A visual-tab content example is:
{
"tabs":[
{
"row_type":"visual_tab",
"id":"guides",
"label":"Guides",
"url":"/guides",
"columns":[
{"type":"sizes","title":"Topics","links":[{"row_type":"link","label":"Delivery","url":"/delivery","icon":"","new_window":false}]},
{"type":"card","col_class":"col-6","title":"New products","subtitle":"Latest arrivals","url":"/new-products","image":"/img/cms/menu-new-products.jpg","mobile_image":"","alt":"New products"}
]
}
]
}
For custom HTML, supported mobile structures include [data-mm-tabs], .mm-type-card, .mm-html link groups and ordinary lists. A desktop form or arbitrary widget is not automatically reproduced as an interactive mobile form.
<div class="mm-html">
<div class="mm-html__title">Buying guides</div>
<ul>
<li><a href="/guide-1">Guide 1</a></li>
<li><a href="/guide-2">Guide 2</a></li>
</ul>
</div>
Add a product-list column
In Dropdown Columns, choose product_list, select an accessible category with id_category, and set limit from 1 to 24. Save the columns and check the resulting product panel on desktop and in the mobile drawer. For example, replace 8 with your category ID:
{"id_category":8,"limit":4}
The current builder includes this column in the shared menu tree and supplies its products to the desktop and mobile panels. It is not limited to category-tree previews. Products nb remains the separate control for attaching products to category-tree panels; Show prices and Show discounts control the supplied product presentation.
Configure products and cache
Open Mega Menu > Settings > Configuration.
| Setting | Default | When you change it |
|---|---|---|
| Products nb | Off / 0 |
Set a positive count to attach product cards to category panels. Products come from their categories, ordered by category position. |
| Grid cols | 4 |
Retained layout setting with no effect on the standard menu layout. |
| Show prices | On | Hide product prices by switching this off. |
| Show discounts | On | Show regular prices and discount details when product data contains them. |
| Cache ttl | 3600 seconds |
Change the lifetime of cached menu data. |
You select categories for product panels. The standard form does not provide an individual product picker for them.
Match the theme
Use Theme styles for shared detected theme values. The module maps primary color, text, muted text, primary and secondary backgrounds, border, radius and transition to --mprmegamenu-* variables. Refresh detection after a theme change, or clear custom overrides to return to detected values.
The current variable map does not include the old module-specific primary-hover or shadow aliases. Inspect the shared style editor and the active stylesheet instead of entering the original fixed fallback list as module defaults.
For theme CSS, inspect .mprmegamenu-container and the current .ps-mainmenu__* markup. A custom header may need spacing or positioning changes.
Uninstall
Export or back up menu settings first. Uninstall through Module Manager. The uninstall SQL drops the five menu tables, clears module cache and removes menu entries. The module restores the native menu hook registrations it recorded. Check the header afterwards, especially if you changed native menu modules while Mega Menu was installed.
Compatibility
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Questions
1
What customer context does Mega Menu use?
Mega Menu uses the current customer and cart context for category access and product prices. It stores menu configuration, translations, shop assignments, columns and caches. Customer-specific product panels are rendered for the current request rather than stored as customer snapshots.
Known Issues
19
Size filter links
Submenu tab opening
Incomplete product cards
Menu pictures after updates
Save and stay cache refresh
Mobile cards and fallback links
PrestaShop 9.1 installation
Native listing price consistency
PrestaShop 9 menu administration
Changed product pictures
Mobile back navigation
Menu background styling
Cached navigation links
Menu links in other languages
Missing translations
Classic theme menu placement
Desktop HTML columns
Mobile drilldown navigation
Resource tab switching
Feature Requests
11
Implemented
Multi-level mobile navigation from HTML menu columns
Multilevel mobile menus
Theme-aware menu styling
Content and blog navigation
Visual resource menus
Modern menu images
Cascading category menus
Knowledge base guide tiles
On-demand mobile levels
Links-only subcategories
On-demand menu details
Changelog
v2.6.82026-05-27
- AddedAdd theme-aware megamenu styling
- AddedCategorize mega menu resources
- AddedMulti-level mobile menu from HTML column data
- AddedUse displayMobileLanguageSelector hook for locale modal
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedCache rendered mega menu output
- ImprovedRemove version query string from asset registration
- ImprovedDefer setMenuOffset to offcanvas open event
- FixedStabilize mobile mega menu install readiness
- FixedMatch visual tab sidebar design
- FixedFlatten visual tabs mobile links
- FixedRender visual tab menus as component
Older releases
v1.3.02026-04-20
- AddedAdd icons to Resources tabs + blog category grid dropdown
- AddedAdd CMS category tree support and Resources/Blog tabs
- AddedPopulate tab children from category tree for submenu rendering
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedautomatic theme detection for Classic and Hummingbird style compatibility
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedRender HTML columns in submenu dropdown and add desktop hover handler
- FixedUse executeS instead of getValue for SHOW TABLES LIKE (PS 9.1 compat)
- FixedAdd uninstall SQL to properly clean up database tables on removal
- Fixedvarious stability and compatibility improvements (10 fixes total)
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.2.02026-02-21
- Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
- Addedsticky menu option: navigation bar stays visible on scroll with configurable offset
- ImprovedHummingbird theme integration: dropdown inherits Bootstrap 5.3 spacing tokens
- Fixedmega menu panel overflowing viewport on screens narrower than 1200px
- Addedproduct card widget: display featured products with image, name, and price inside dropdown
v1.0.02025-11-29
- Initialrelease: Mega Menu builder for PrestaShop
- InitialMulti-column dropdown editor with drag-and-drop column and widget positioning
- InitialSupports text, image, HTML, category list, and CMS link widget types
- InitialResponsive breakpoint configuration: dropdown collapses to hamburger menu at configurable width
v1.1.02025-09-22
- Addedbrand/manufacturer logo showcase block as a mega menu column type
- Improvedmobile navigation: off-canvas drawer with nested accordion for subcategories
- Fixedkeyboard navigation (Tab/Enter/Esc) not working correctly in multi-level dropdowns
- Addedconfigurable dropdown open trigger: hover (desktop) or click
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.