/** * Store menu type associated with the menu item. * * @param MenuItem $item menu item instance * @param array $menuTypeInput input for menu type module * @return void */ protected function storeMenuType(MenuItem $item, array $menuTypeInput) { $menuTypeObj = $this->modules->getModuleObject($item->type); $menuTypeObj->storeMenu($item->getKey(), $menuTypeInput, $item->getAttributes()); // 메뉴 타입이 route 를 사용하는 경우 instance route 를 추가해 줌 if ($menuTypeObj::isRouteAble()) { $this->routes->create(['url' => $item->url, 'module' => $menuTypeObj::getId(), 'instanceId' => $item->getKey(), 'menuId' => $item->{$item->getAggregatorKeyName()}, 'siteKey' => $item->menu->siteKey]); } }
/** * Save a new route item and return the instance * * @param array $input route item attributes * @return InstanceRoute */ public function create(array $input) { $route = $this->repo->create($input); $this->cachingItem($route); return $route; }
/** * Save a new route item and return the instance * * @param array $input route item attributes * @return InstanceRoute */ public function create(array $input) { $route = $this->repo->create($input); $this->setToMap($route); return $route; }