Sylius provides various menus across its Shop and Admin interfaces — from customer account navigation to product form tabs and button groups. In Sylius 2.0, menu customization is handled in two main ways:
– the recommended and default approach for most Admin “action button” menus
Event listeners – still available for structural menus such as sidebars and tabs
This guide walks you through customizing each type.
Path: /admin/Customization method: Event listener
Add new items or groups to the expandable navigation menu on the left side of the admin panel.
To add items to the Admin panel menu, use the sylius.menu.admin.main event.
🧠 Using Icons
Sylius uses Symfony UX Icons to render scalable SVG icons from the Tabler Icons set. You’ll see these used in menu customization examples below via the ux_icon() Twig helper:
{{ ux_icon('tabler:plus', { class: 'icon' }) }}
Icons can be styled using custom CSS or Tailwind utility classes and embedded in any Twig template to enhance admin or shop UI elements. For more details, see the .
Step 1. Create a listener
<?php
namespace App\Menu;
use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
final class AdminMenuListener
{
public function addAdminMenuItems(MenuBuilderEvent $event): void
{
$menu = $event->getMenu();
$newSubmenu = $menu
->addChild('new')
->setLabel('Custom Admin Menu')
;
$newSubmenu
->addChild('new-subitem')
->setLabel('Custom Admin Menu Item')
;
}
}
After these steps, your custom menu item will appear at the bottom of the admin menu.
Admin Customer Show Menu
Path: /admin/customers/{id}Customization method: Twig hook
Add action buttons (e.g. “Create Customer”) to the top-right corner of the customer detail view.
In Sylius 2.0, the customer show menu uses a Twig hook: sylius_admin.customer.show.content.header.title_block.actions.
Step 1. Configure your new hook for the custom action
Path: /admin/products/new and /admin/products/{id}/editCustomization method: Twig hook
Add custom tabs and form sections (e.g. for manufacturer details) to the product creation and edit forms.
Path: /admin/products/{productId}/variants/create and /admin/products/{productId}/variants/{id}/editCustomization method: Twig hook
Add extra tabs for variants, such as a custom media section.
If you're upgrading from Sylius 1.x and your menu customization is not working, check whether you're using a deprecated event and replace it with the appropriate Twig hook.
In Sylius 2.0, menu icons use the , not Semantic UI.