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())); }
/** * 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; }