public function mainBreadcrumb() { $menu = $this->container->get('newscoop_newscoop.menu.main'); $matcher = new \Knp\Menu\Matcher\Matcher(); $matcher->addVoter(new \Knp\Menu\Matcher\Voter\UriVoter($_SERVER['REQUEST_URI'])); $treeIterator = new \RecursiveIteratorIterator(new \Knp\Menu\Iterator\RecursiveItemIterator(new \ArrayIterator(array($menu))), \RecursiveIteratorIterator::SELF_FIRST); $iterator = new \Knp\Menu\Iterator\CurrentItemFilterIterator($treeIterator, $matcher); // Set Current as an empty Item in order to avoid exceptions on knp_menu_get $current = new \Knp\Menu\MenuItem('', $this->factory); foreach ($iterator as $item) { $item->setCurrent(true); $current = $item; break; } return $current; }