/** * Create and return a new navigation for the given menu items * * @param MenuItemContainer[] $items * * @return Navigation */ private function createMenu(array $items) { $navigation = new Navigation(); foreach ($items as $item) { /** @var MenuItemContainer $item */ $navigationItem = $navigation->createItem($item->getName(), $item->getProperties()); $navigationItem->setChildren($this->createMenu($item->getChildren())); $navigationItem->setLabel($this->translate($item->getName())); $navigation->addItem($navigationItem); } return $navigation; }