Chat on WhatsApp

Panth Admin Menu Manager

Make the Magento 2 admin feel like *your* admin. Hide, rename, re-icon, recolor, reorder and reparent any backend menu item, grouped into named views you can flip between in one click. Includes an optional click-to-open drilldown rendering style with full-viewport-height chrom...

Key Features:

  • Hide any backend menu item per role, view, or globally
  • Rename freely
  • Re-icon with curated Bootstrap Icons, emoji, or custom URL
  • Recolor with a thin coloured stripe

Additional Services

$0.00
In stock
SKU
panth-admin-menu-manager
Links
Pay with Wise
Lifetime Updates Every Magento release
1-Year Free Support Email + WhatsApp
Adobe-Certified Magento 2 Developer
30-Day Money Back No-questions refund
What you get

Everything in the box

Built-in from day one. No add-ons, no upsell, no licence keys to renew.

Hide any backend menu item per role, view, or globally

keep merchandisers focused, hide Marketing for catalog-only accounts

Rename freely

'Stores' to 'Store Settings', 'Catalog' to 'Products', 'Customers' to 'Members', whatever fits your business vocabulary

Re-icon with curated Bootstrap Icons, emoji, or custom URL

find the menu you want in two milliseconds

Recolor with a thin coloured stripe

per-item accent so the eye lands on the active item instantly

Overview

Panth Admin Menu Manager is a backend customization extension for Magento 2 and Adobe Commerce that lets admins rename, reorder, hide, and pin items in the native admin sidebar from a single grid.

The Admin Menu Manager module exposes Magento’s compiled backend menu as an editable table where each row represents one item. Inline-edit labels, change parent grouping, set sort order, toggle visibility, and pin items so they stay open beside whatever grid you happen to be working in — useful for keeping Admin Menu Manager itself, Configuration, or Cache Management one click away while you live in the product grid.

Saved views capture entire menu configurations and apply per admin user, so a merchandiser, a developer, and a marketing manager each see exactly the menu shape their role needs. A drilldown panel previews the rendered menu before the configuration is applied, eliminating the “did I just hide my own settings page” problem that plagues admin customization on Magento. Every override writes to a dedicated table and never patches Magento’s compiled menu source, so a clean uninstall restores the native sidebar exactly as it shipped.

Best for:

  • Agencies that run a dozen client stores and want one consistent admin layout.
  • Merchants whose admin team has grown beyond one persona and needs role-shaped menus.
  • Long-running stores where 40+ vendor extensions have polluted the sidebar.

Why a Menu Manager

Magento's backend menu was designed for someone who installs Magento and stops. The reality on a typical merchant's account:

  • 30+ extensions each adding 2–6 menu items, mostly to Stores → Settings or System → Tools. Finding "the thing I need to click" becomes a daily search.
  • Multiple roles — a merchandiser doesn't need System → Web Setup Wizard, a developer doesn't need Marketing → Communications → Newsletter Templates. But everyone sees everything.
  • Stock vocabulary — "Stores", "Inventory", "Marketing" make sense to Magento engineers. They're not always what merchants call those concepts internally.

Panth Admin Menu Manager fixes the symptom without forking core: the database row of overrides applies after Magento has compiled its menu, so every extension's menu remains discoverable and the overrides survive every setup:upgrade.


What you get

Admin Menu Manager turns the Magento sidebar into an editable, per-user surface.

  • Inline-edit labels, parents, sort order, and visibility on every menu item.
  • Pin menu items so they stay open beside your current admin grid.
  • Saved views capture full menu shapes and apply per admin user.
  • Drilldown preview panel verifies the rendered menu before applying changes.
  • Compatible with Magento 2.4.4 to 2.4.9, PHP 8.1 to 8.4, Hyva, and Luma.

Live Demo

A 2-minute walk-through of the full workflow — open the manager, edit a few rows, save a view, apply it, click into the drilldown panel:

Admin Menu Manager — full workflow


Key Features

Per-Item Overrides (Saved Per View)

  • Disable — hide an item from the menu entirely (line-throughed in the grid for easy recovery)
  • Custom label — rename without touching XML; falls back to the stock label when blank
  • Custom icon — Bootstrap Icons class (bi-gear, bi-house, …), an emoji, or a url(...) to a SVG/PNG
  • Custom colour — hex value (#1F2E44, #eb5202, …) renders as a thin left stripe so the item stands out
  • Custom parent — move any item under any other item; great for collapsing related extensions under a single header
  • Sort order — fine-grained numeric override, applied per level so reordering one branch never disturbs another

Named Views — Multiple Presets, One-Click Switch

  • One row in panth_admin_menu_view per view, one default seeded by SeedDefaultView data patch
  • Apply for me — flips the active view for the current admin user only (cookie-backed, no DB write per session)
  • Set as system default — flips the global active view; affects every admin who hasn't picked their own
  • New / Rename / Duplicate / Delete — full CRUD on views from the same toolbar (Default view cannot be deleted)

Drilldown Rendering Style (opt-in per L0)

  • Click-to-open instead of hover — accidental hovers stop opening the wrong panel
  • Full viewport height chrome — the dark #4a4542 panel fills top-to-bottom matching Magento's stock submenu palette
  • In-panel search — type to filter the items by label or ID; matched items keep their parent expanded with a breadcrumb subtitle so identical leaf names ("Configuration", "Manage") stay distinguishable
  • Back button — drill into a sub-section, back arrow returns you to the parent without closing the panel
  • Esc closes, click-overlay closes — same UX patterns Magento ships
  • Per-target opt-in — pick which L0 menus get drilldown; the rest keep Magento's default hover behaviour
  • Auto-included — every Panth_* L0 menu is always in the drilldown set regardless of admin selection

Open in New Tab — for items you reference alongside another page

  • Add menu IDs to panth_drilldown/general/new_tab_targets (one per line)
  • Matching links inside the drilldown panel get target="_blank", rel="noopener", an updated title and a small external-link icon next to the label
  • Useful for Admin Menu Manager itself, Configuration, Cache Management — anything you want to keep open beside your current grid

Self-Protection (you can never lock yourself out)

The MenuBuilderPlugin tracks a small SELF_PROTECT_IDS set:

  • Panth_AdminMenuManager::menu_manager
  • Magento_Backend::stores
  • Magento_Backend::stores_settings
  • Magento_Config::config

A disable override on any of these is silently ignored at apply time, so even if a backup of panth_admin_menu_override accidentally hides the manager, the merchant can still navigate to it and undo.

Magento-Native Visual Palette

  • Orange #eb5202 primary buttons matching Magento's stock Save Config style
  • 13px body type matching adminhtml typography across rows, inputs, dropdowns and buttons
  • Bootstrap Icons as the default icon library (CSS shipped with the module — no CDN, no font dependency)
  • Drilldown chrome copied from Magento's compiled adminhtml — #4a4542 panel, #fcfcfc text, #403934 hover, #322c29 active
  • Theme-agnostic on the admin side — the storefront is never touched

Where to Find It

After install you'll find Admin Menu Manager in two places:

  1. Stores → Settings → Admin Menu Manager — the grid where you customise menu items
  2. Panth Infotech → Admin Menu Manager → Manager / Configuration — shortcut group matching every other Panth_* module's layout

The Configuration link points at Stores → Configuration → Panth → Admin Menu Manager for the drilldown-related toggles (master switch, target L0 menus, "open in new tab" list).


The Manager Grid

Each row represents one item in Magento's compiled backend menu. Editable columns:

Column What it does
Menu item Indented tree label with an icon preview + chevron to expand children. Read-only here — edit in Custom label.
ID Stock Magento menu ID (Magento_Sales::sales, Panth_Faq::group, …). Read-only.
Custom label Override the visible text. Blank = use stock label.
Icon (bi-…) Bootstrap Icon class (bi-house, bi-graph-up), or any Unicode emoji, or url(…) for a custom image. Click Browse icons (top-right) to open the Bootstrap Icons gallery in a new tab.
Parent Move under a different parent. Highlighted when the row's parent is overridden.
Sort Numeric override; lower numbers float to the top of their level.
Enabled On = the item shows. Off = hidden. Self-protected items (Admin Menu Manager itself, Stores, Configuration, the global Backend node) reject Off.
Reset Removes this row's override only. Other overrides for the same view stay.

A Quick search box filters by label or ID; Expand all / Collapse all toggles every level at once; the Save changes button at the bottom flushes the menu cache so a refresh of the admin tab shows the new layout.


Named Views — Per-User and System-Wide

Views are presets of overrides that you can switch between with one click.

  • Apply for me — sets a per-admin-user cookie pointing at a view; only this admin's session uses it
  • Set as system default — flips the is_active flag on a view; everyone who hasn't picked their own falls back to it
  • New view — creates an empty named view (no overrides yet); flip to it and start editing
  • Rename / Duplicate / Delete — Default view cannot be deleted; otherwise these are unrestricted

Common patterns:

  • Default (system default) — light cleanup that everyone benefits from
  • Merchandiser — hides everything outside Catalog + Marketing
  • Support — surfaces Customers, Sales (Orders), and the most-used Reports
  • Developer — keeps everything visible, plus relabels with shorter names

Drilldown Rendering Style

The hover-to-open mega-menu Magento ships with works for ~15 menu items. Past that, an L0 panel becomes a wall of text and the wrong panel keeps opening when you mouse past it.

This module ships an opt-in drilldown rendering style:

  1. Click-to-open — Magento's _show class is preserved; only the click target changes. Hover does nothing.
  2. Full-viewport panel — the panel fills 100vh, dark #4a4542 background, no white bleed.
  3. In-panel search — keystroke filters items by label or ID, with a breadcrumb subtitle showing the parent chain so identical leaf names stay distinguishable.
  4. Back button — drill into a sub-section, back arrow returns to the parent without closing the panel.
  5. Esc closes — keyboard-friendly out of the box.

Configure under Stores → Configuration → Panth → Admin Menu Manager → Apply to top-level menus — multiselect of every L0 menu Magento knows about. Unselected menus keep Magento's default hover behaviour. All Panth_* L0 menus are auto-included so the drilldown experience is consistent across every Panth module.


Open in a New Tab

Some menu items pair best with a second tab — Cache Management open beside your product grid, the Admin Menu Manager open beside the page you're customising for. Add their IDs (one per line) to Stores → Configuration → Panth → Admin Menu Manager → Open in a new tab — Menu IDs:

Panth_AdminMenuManager::menu_manager
Panth_AdminMenuManager::configuration

Inside the drilldown panel, matching <a> tags get target="_blank", rel="noopener", an updated title ("… opens in new tab") and a small external-link SVG appended next to the label so the user knows the click will spawn a new tab.


Self-Protection

The MenuBuilderPlugin will never honour a disable override on:

  • Panth_AdminMenuManager::menu_manager (the manager screen itself)
  • Magento_Backend::stores
  • Magento_Backend::stores_settings
  • Magento_Config::config

This is hard-coded in the plugin's SELF_PROTECT_IDS set so even a corrupted import of panth_admin_menu_override rows can't lock the merchant out of the four pages they need to recover.

The Targets backend model also auto-injects every Panth_* L0 menu into the drilldown target list on save — so a merchant who unchecks all targets still gets the drilldown on Panth modules they install in the future.


How It Works

 request hits admin
 │
 ▼
 ┌────────────────────────────────────┐
 │ Magento\Backend\Model\Menu\Builder│
 │ ::getResult() │
 │ (compiles the stock menu tree) │
 └────────────────────────────────────┘
 │
 ▼
 afterGetResult plugin (our MenuBuilderPlugin)
 │
 ┌──────────────────┴───────────────────┐
 │ load active view's overrides │
 │ (per-user cookie wins; else system) │
 └──────────────────┬───────────────────┘
 │
 ┌──────────────────┴───────────────────┐
 │ Pass 1 — apply label / icon / colour │
 │ / disable, recurse the tree │
 │ Pass 2 — execute parent moves │
 │ Pass 3 — re-sort touched levels │
 └──────────────────┬───────────────────┘
 │
 ▼
 return mutated Menu to Magento

Two database tables back the feature:

  • panth_admin_menu_viewview_id, label, is_active, is_default, timestamps. One row per saved preset.
  • panth_admin_menu_overrideview_id, menu_item_id, is_disabled, custom_label, custom_icon, custom_color, custom_parent_menu_item_id, sort_order, timestamps. One row per overridden menu item.

The drilldown UI is layered on top of Magento's compiled adminhtml — no default.xml override, no replacement of the global navigation block. The JS subscribes to Magento's existing _show/_hide class changes via MutationObserver so any future change to mage/adminhtml/globalNavigation is automatically inherited.


Troubleshooting

The new menu doesn't appear after I clicked Save. Magento's backend menu is cached. Saving flushes the menu cache automatically — but the admin tab you're already on still has the old DOM. Refresh the admin tab (or click any other menu item) and the new layout shows up.

I disabled an item but it's still visible. Check whether you're editing the active view. The dropdown next to the View label shows the per-user active view (or the system default). If you edit Default but you've personally activated Merchandiser, your edits won't show until you switch back or apply the changed view.

The drilldown won't open on hover anymore. That's by design. The drilldown is click-to-open; hover does nothing on opted-in L0 menus. Click the L0 label or icon to open the panel.

A menu item I rely on disappeared after I imported a backup. Truncate panth_admin_menu_override for the active view to wipe its overrides, or DELETE FROM panth_admin_menu_view and re-run bin/magento setup:upgrade to reseed the Default view.


Compatibility

Magento Open Source / Adobe Commerce 2.4.4 — 2.4.8
PHP 8.1 — 8.4
Themes Admin (Magento backend) — theme-agnostic on the admin side; the module never touches your storefront theme
Other modules No collisions known — the plugin is afterGetResult on \Magento\Backend\Model\Menu\Builder and only mutates the existing tree

Installation

composer require mage2kishan/module-admin-menu-manager
bin/magento module:enable Panth_AdminMenuManager
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

The SeedDefaultView data patch creates the Default view automatically so the manager grid is never empty.


Configuration

Stores → Configuration → Panth → Admin Menu Manager (or the Configuration shortcut under Panth Infotech → Admin Menu Manager in the menu).

Field Path Default Notes
Open Admin Menu Manager n/a n/a Quick-jump button to the manager grid
Enable drill-down panth_drilldown/general/enabled 1 Master switch. When off, every admin menu uses Magento's default hover behaviour.
Apply to top-level menus panth_drilldown/general/targets (empty + Panth_* always-on) Multiselect of L0 menus to drilldown. Unselected = stock hover.
Open in a new tab — Menu IDs panth_drilldown/general/new_tab_targets (empty) One menu ID per line. Items get target="_blank" + an external-link icon.

Uninstall

bin/magento module:disable Panth_AdminMenuManager
composer remove mage2kishan/module-admin-menu-manager
bin/magento setup:upgrade

To wipe stored views/overrides:

DROP TABLE IF EXISTS panth_admin_menu_override;
DROP TABLE IF EXISTS panth_admin_menu_view;
DELETE FROM core_config_data WHERE path LIKE 'panth_drilldown/%';

Need this customised?

Talk to Kishan directly — written quote, scope and timeline within 24 hours. No sales call.

WhatsApp

Panth Admin Menu Manager

$0.00