Tengo una pregunta sobre la representación del paquete KnpMenu para Symfony2. De he leído, debe haber una clase "actual" en el elemento de ruta coincidente. He leído la documentación de Knp y están diciendo algo sobre RouteVoter pero no puedo hacerlo funcionar. ¿Algunas ideas?Paquete de menú de nudo Elemento actual Symfony 2
Generador de código:
<?php
// src/Acme/DemoBundle/Menu/Builder.php
namespace Acme\DemoBundle\Menu;
use Knp\Menu\FactoryInterface;
use Symfony\Component\DependencyInjection\ContainerAware;
class Builder extends ContainerAware
{
public function mainMenu(FactoryInterface $factory, array $options)
{
$menu = $factory->createItem('root');
$menu->addChild('Home', array('route' => 'index'));
$menu->addChild('About Me', array('route' => 'products'));
return $menu;
}
}
Gracias por la solución. He estado buscando algo como esto. Espero, algún día, que el KnpMenuBundle 2.x sea estable y que podamos usar a los votantes. –
Siguiendo la guía de KnpMenuBundle para usar el menú como servicio, el contenedor ya no es necesario. Puede obtener la solicitud orientando el servicio al alcance de la solicitud. –
Vale la pena mencionar que esta solución alternativa falla en algunos casos. Por ejemplo, al usar la paginación. –