public function testMoveToFirstPosition()
 {
     $menu = new MenuItem('root', new MenuFactory());
     $menu->addChild('c1');
     $menu->addChild('c2');
     $menu->addChild('c3');
     $menu->addChild('c4');
     $manipulator = new MenuManipulator();
     $manipulator->moveToFirstPosition($menu['c3']);
     $this->assertEquals(array('c3', 'c1', 'c2', 'c4'), array_keys($menu->getChildren()));
 }
Exemple #2
0
 /**
  * Main page top menu
  *
  * @param Request $request
  *
  * @return \Knp\Menu\MenuItem
  */
 public function createMainMenu(Request $request)
 {
     $menu = $this->factory->createItem('root');
     $menu->setUri($request->getRequestUri());
     $menu->setAttribute('class', 'nav');
     $menuManipulator = new MenuManipulator();
     if ($request->getPathInfo() != '/') {
         $item = $menu->addChild('← На главную', array('route' => 'homepage'));
         $menuManipulator->moveToFirstPosition($item);
     }
     $menu->addChild('О Frameworks Days', array('route' => 'page_show', 'routeParameters' => array('slug' => 'about')));
     $menu->addChild('События', array('route' => 'events'));
     $menu->addChild('Контакты', array('route' => 'page_show', 'routeParameters' => array('slug' => 'contacts')));
     $menu->addChild('Партнеры', array('route' => 'partners_page'));
     return $menu;
 }