/** * Adds menu items to global menu system. * * @param string $menuType * @param string $routeName * @param string $prefix * @param string $key * @param string $visibleFor */ public function addMenuItem($menuType, $routeName, $prefix, $key, $visibleFor = self::VISIBLE_FOR_ALL) { if (empty($menuType) || empty($routeName) || empty($prefix) || empty($key)) { throw new InvalidArgumentException(); } $menuType = trim($menuType); $order = $this->navService->findMaxSortOrderForMenuType($menuType); $menuItem = new BOL_MenuItem(); $menuItem->setType($menuType); $menuItem->setRoutePath($routeName); $menuItem->setPrefix($prefix); $menuItem->setKey($key); $menuItem->setOrder($order + 1); $menuItem->setVisibleFor($visibleFor); $this->navService->saveMenuItem($menuItem); }