dev-master
9999999-dev https://github.com/igdr/ConfigKnpMenuBundleConfigure your knp menus with yaml files accross your project bundles
MIT
The Requires
ui symfony navigation menu user interface knp
Configure your knp menus with yaml files accross your project bundles
This bundle provides a way to configure your knp menus in your bundles yml configuration., (*1)
For more information on knp menu, read : * The Knp Menu Documentation * The Knp Menu Bundle Documentation, (*2)
You can use composer for installation., (*3)
Add the repository to the composer.json file of your project and run the update or install command., (*4)
{ "require": { "igdr/config-knp-menu-bundle": "dev-master" } }
Then enable it in your AppKernel.php with the KnpMenuBundle :, (*5)
$bundles = array( ... new Knp\Bundle\MenuBundle\KnpMenuBundle(), new Igdr\Bundle\ConfigKnpMenuBundle\IgdrConfigKnpMenuBundle(), );
In order to use this bundle, you must define your menu configuration in a navigation.yml file in your bundle., (*6)
Example :, (*7)
my_mega_menu: tree: first_level_item: label: My first label children: second_level_item: label: My second level
Then you need to define a service., (*8)
my_project.menu.admin: class: Knp\Menu\MenuItem factory_service: igdr_config_menu.menu.builder factory_method: createMenu arguments: - "@request" - "my_mega_menu" scope: request tags: - { name: knp_menu.menu, alias: my_menu }
The second argument must match the name of the menu in navigation.yml. The tag alias will be used in your twig template., (*9)
{{ knp_menu_render('my_menu') }}
This is the available configuration definition for an item., (*10)
my_mega_menu: tree: first_level_item: uri: "An uri. Use it if you do not define route parameter" route: "A sf2 route without @" routeParameters: "an array of parameters to pass to the route" label: "My first label" order: An integer to sort the item in his level. attributes: An array of attributes passed to the knp item linkAttributes: An array of attributes passed to the a tag childrenAttributes: An array of attributes passed to the chidlren block display: boolean to hide the item displayChildren: boolean to hide the children children: # An array of subitems second_level_item: label: My second level
This configuration matches the methods available in the Knp Menu Item class, (*11)
Configure your knp menus with yaml files accross your project bundles
MIT
ui symfony navigation menu user interface knp