2012-04-12 3 views

Antwort

2

Ich möchte eine ausführlichere Frage, aber hier geht es trotzdem.

Zuerst überprüfen Sie KnpBundles für Bundles, die bereits Menüfunktionen bieten. So etwas wie KnpMenuBundle. Sieht gut aus? Gut, benutze es.

Nichts passt Ihrem Geschmack? Dann rollen Sie Ihre eigenen. Ich würde mit so etwas wie dies gehen:

  1. erstellen NavListManager Klasse im Basispaket und eine AbstractNavList Klasse von jedem anderen Paket erweitert werden, die Optionen auf der Navigationsliste hinzufügt.

  2. Jedes Bündel sollte eine NavList Klasse bieten, die AbstractNavList erweitert. Diese Klassen sollten Navigationslistenoptionen enthalten.

  3. Bearbeiten Sie in Ihrem Basispaket die DependencyInjection\<MyBundle>Extension::load()-Methode, um eine NavList-Klasse in jedem Ihrer Bundles unter Verwendung von $container->getParameter('kernel.bundles') zu suchen. Fügen Sie jede gesammelte Klasse in NavListManager ein.

  4. Rufen Sie nun in der Vorlage etwas wie $navman->render() auf, um die Navigationsliste zu generieren.