MenuBuilder.php 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace Muzich\AdminBundle\Menu;
  3. use Admingenerator\GeneratorBundle\Menu\AdmingeneratorMenuBuilder as BaseMenu;
  4. use Symfony\Component\HttpFoundation\Request;
  5. class MenuBuilder extends BaseMenu
  6. {
  7. public function createDashboardMenu(Request $request)
  8. {
  9. $menu = $this->factory->createItem('root');
  10. $menu->setChildrenAttributes(array('id' => 'dashboard_sidebar', 'class' => 'nav nav-list'));
  11. $menu->setExtra('request_uri', $this->container->get('request')->getRequestUri());
  12. $menu->setExtra('translation_domain', 'Admingenerator');
  13. $this->addNavHeader($menu, 'Overview');
  14. $this->addNavLinkRoute($menu, 'Dashboard', 'AdmingeneratorDashboard_welcome')->setExtra('icon', 'icon-home');
  15. $this->addNavHeader($menu, 'Features');
  16. $this->addNavLinkRoute($menu, 'Statistics', 'AdmingeneratorDashboard_welcome', array('document' => 'commands'))->setExtra('icon', 'icon-bullhorn');
  17. $this->addNavLinkUri($menu, 'Wiki', 'http://work.bux.fr/projects/muzich/wiki', array('document' => 'filters'))->setExtra('icon', 'icon-filter');
  18. $this->addNavHeader($menu, 'Administration');
  19. $this->addAdministrationLinksToMenu($menu);
  20. return $menu;
  21. }
  22. protected function addAdministrationLinksToMenu($menu)
  23. {
  24. $this->addNavLinkRoute($menu, 'Elements', 'Muzich_AdminBundle_Admin_element_list');
  25. $this->addNavLinkRoute($menu, 'Tags', 'Muzich_AdminBundle_Admin_tag_list');
  26. $this->addNavLinkRoute($menu, 'Groups', 'Muzich_AdminBundle_Admin_group_list');
  27. }
  28. public function createAdminMenu(Request $request)
  29. {
  30. $menu = parent::createAdminMenu($request);
  31. $menu->setExtra('translation_domain', 'Admingenerator');
  32. $administration = $this->addDropdownMenu($menu, 'Administration');
  33. $this->addAdministrationLinksToMenu($administration);
  34. return $menu;
  35. }
  36. }