Hide any backend menu item per role, view, or globally
keep merchandisers focused, hide Marketing for catalog-only accounts
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:
Additional Services
Built-in from day one. No add-ons, no upsell, no licence keys to renew.
keep merchandisers focused, hide Marketing for catalog-only accounts
'Stores' to 'Store Settings', 'Catalog' to 'Products', 'Customers' to 'Members', whatever fits your business vocabulary
find the menu you want in two milliseconds
per-item accent so the eye lands on the active item instantly
Admin Menu Manager. A premium Magento 2 extension built by Top Rated Plus developer Kishan Savaliya.
Make the Magento admin feel like your admin. Hide noise, rename anything, re-icon, recolor, reorder and reparent any backend menu item — saved as named "views" you can switch between with one click. Includes a click-to-open drilldown rendering style with in-panel search and a full-viewport-height chrome that mirrors Magento's stock palette pixel-for-pixel.
Panth Admin Menu Manager turns Magento 2's static, hover-only backend navigation into a configurable surface every merchant can tailor to the way their team works:
All overrides are grouped into named views — keep a "merchandiser" view, a "support agent" view, a "default" view — and switch with Apply for me (per-user) or Set as system default (everyone). The Default view ships seeded so the grid is never empty, and the manager screen + Magento's stores / config / Backend menus are self-protected from being hidden so the merchant can always recover.
The optional drilldown rendering style replaces Magento's hover-to-open mega-menu with a click-to-open panel that fills the viewport height, carries a back button, and includes a per-panel search filter — invaluable on installs with 30+ extensions where the L0 menu has become unmanageable.
Get a free quote for your project in 24 hours — custom modules, Hyvä themes, performance optimization, M1 → M2 migrations, and Adobe Commerce Cloud.
🏆 Kishan SavaliyaTop Rated Plus on Upwork 100% Job Success • 10+ Years Magento Experience Adobe Certified • Hyvä Specialist |
🏢 Panth Infotech AgencyMagento Development Team Custom Modules • Theme Design • Migrations Performance • SEO • Adobe Commerce Cloud |
Visit our website: kishansavaliya.com | Get a quote: kishansavaliya.com/get-quote
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:

| Manager grid (default view) | Same grid with overrides applied |
|---|---|
![]() |
![]() |
The toolbar above the grid lets you Apply for me (per-admin-user), Set as system default (everyone), spin off a New view, Rename, Duplicate, or Delete. The grid itself shows every menu item in Magento's compiled menu tree — relabel inline, paste a Bootstrap Icon class into the Icon column (or an emoji), pick a different parent, set a sort order, flip the Enabled toggle. Reset on any row removes that row's override.
| Click-to-open L0 panel | Drilled into a sub-section |
|---|---|
![]() |
![]() |
L0 menus you've opted in (panth_drilldown/general/targets) open as a fixed-width drilldown panel that fills the full viewport height. A back arrow, an in-panel search filter, and a generous title bar replace Magento's stock hover behaviour. Non-target L0 menus keep Magento's default — so you can drilldown the busy ones (Stores, System) and leave Sales / Catalog / Customers alone.
bi-gear, bi-house, …), an emoji, or a url(...) to a SVG/PNG#1F2E44, #eb5202, …) renders as a thin left stripe so the item stands outpanth_admin_menu_view per view, one default seeded by SeedDefaultView data patch#4a4542 panel fills top-to-bottom matching Magento's stock submenu palettePanth_* L0 menu is always in the drilldown set regardless of admin selectionpanth_drilldown/general/new_tab_targets (one per line)target="_blank", rel="noopener", an updated title and a small external-link icon next to the labelThe MenuBuilderPlugin tracks a small SELF_PROTECT_IDS set:
Panth_AdminMenuManager::menu_managerMagento_Backend::storesMagento_Backend::stores_settingsMagento_Config::configA 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.
#eb5202 primary buttons matching Magento's stock Save Config style#4a4542 panel, #fcfcfc text, #403934 hover, #322c29 activeMagento's backend menu was designed for someone who installs Magento and stops. The reality on a typical merchant's account:
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.
| 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 |
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.
After install you'll find Admin Menu Manager in two places:
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).
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.
Views are presets of overrides that you can switch between with one click.
is_active flag on a view; everyone who hasn't picked their own falls back to itCommon patterns:
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:
_show class is preserved; only the click target changes. Hover does nothing.100vh, dark #4a4542 background, no white bleed.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.
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.
The MenuBuilderPlugin will never honour a disable override on:
Panth_AdminMenuManager::menu_manager (the manager screen itself)Magento_Backend::storesMagento_Backend::stores_settingsMagento_Config::configThis 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.
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. |
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_view — view_id, label, is_active, is_default, timestamps. One row per saved preset.panth_admin_menu_override — view_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.
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/%';
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.
Q: Does this affect storefront menus?
A: No. The plugin only attaches to \Magento\Backend\Model\Menu\Builder — a backend-only class. Your storefront top nav, mega menu, and category tree are completely untouched.
Q: Can different admin users see different menus? A: Yes — that's exactly what the Apply for me button does. It writes a cookie pointing at a view; the plugin reads the cookie and prefers it over the system default for that user's session.
Q: Will it survive setup:upgrade?
A: Yes. The override rows live in their own tables, not in XML config or generated code. setup:upgrade doesn't touch them.
Q: Can I export views to deploy to staging / production?
A: panth_admin_menu_view + panth_admin_menu_override are plain DB tables — mysqldump --no-create-info them and import on the target. The next admin page load will pick them up.
Q: Does the drilldown work on Hyvä? A: The drilldown is admin-only (Magento backend), so the storefront theme is irrelevant — Hyvä storefronts work fine. The admin chrome itself is theme-agnostic.
Q: Will it conflict with other modules that customise the admin menu?
A: The plugin runs afterGetResult so any other plugin's mutations are visible to ours. As long as the other module emits standard \Magento\Backend\Model\Menu\Item rows, our overrides apply on top of them. (Panth_* modules are mutually compatible by design.)
| 💼 Custom development | Get a free quote — reply within 24 hours |
| kishansavaliyakb@gmail.com | |
| 🌐 Website | kishansavaliya.com |
| 🐙 Issues | GitHub issue tracker |
| 💬 Hire on Upwork | Top Rated Plus profile — 100% job success, 10+ years Magento |
| 🏢 Agency | Panth Infotech — full-service Magento + Hyvä team |
Panth Infotech is a Magento-focused development team led by Kishan Savaliya — Adobe Certified, Top Rated Plus on Upwork, and a Hyvä specialist with 10+ years of Magento experience. We ship custom modules, Hyvä themes, performance optimization, M1 → M2 migrations, and Adobe Commerce Cloud projects for merchants and agencies worldwide.
More extensions in the Panth catalogue — see the full list on Packagist or browse the GitHub org.
If this module saves your team a few clicks a day, please ⭐ the repo.
And if there's an admin-menu pain we missed, open an issue — happy to talk through it.
Talk to Kishan directly — written quote, scope and timeline within 24 hours. No sales call.
Panth Admin Menu Manager