allekslar/monofony-menu-extension
sylius.menu.admin.main event) for Monofony/Skeleton, a Sylius-based e-commerce framework. It is highly specialized and only relevant if:
sylius/sylius or monofony/skeleton), integration is straightforward.blade directives or JavaScript-based menus).spatie/laravel-menu).sylius.menu.admin.main is available in your Sylius/Monofony version.EventDispatcher with Laravel’s Events facade).View::composer or a package like spatie/laravel-menu).sylius.menu.admin.main exists in your Sylius/Monofony version (may vary by minor version).symfony/event-dispatcher compatibility).composer require allekslar/monofony-menu-extension
php bin/console cache:clear).{% extends 'SyliusAdminBundle:Menu:main.html.twig' %}
{% block menu_items %}
{{ parent() }}
<li><a href="{{ path('custom_route') }}">Custom Item</a></li>
{% endblock %}
symfony/event-dispatcher as a Laravel service provider).config/packages/sylius_admin.yaml and admin templates.sylius.menu.admin.main event), this package may break.debug:event-dispatcher to verify the event fires:
php bin/console debug:event-dispatcher | grep menu.admin.main
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Event not fired | Menu item missing | Verify event listener is subscribed. |
| PHP version mismatch | Installation fails | Downgrade PHP or fork the package. |
| Sylius version incompatibility | Silent failure or errors | Test with your exact Sylius version. |
| Template override conflicts | Menu item breaks UI | Use unique class names or isolate in a child template. |
| Cache issues | Changes not reflected | Clear cache or use cache:pool:clear. |
// src/EventListener/AddCustomMenuItem.php
namespace App\EventListener;
use Sylius\Bundle\UiBundle\Menu\Event\MenuEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class AddCustomMenuItem implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
'sylius.menu.admin.main' => 'addMenuItem',
];
}
public function addMenuItem(MenuEvent $event): void
{
$menu = $event->getMenu();
$menu->addChild('custom', ['route' => 'app_custom_route']);
}
}
How can I help you explore Laravel packages today?