/** * createItem * * @param IlluminateConfig $config laravel config * @param MenuHandler $handler menu handler * @param ModuleHandler $moduleHandler module handler * @param SiteHandler $siteHandler site handler * @param string $menuId menu id * * @return RendererInterface */ public function createItem(IlluminateConfig $config, MenuHandler $handler, ModuleHandler $moduleHandler, SiteHandler $siteHandler, $menuId) { $menu = $handler->get($menuId); $menuConfig = $handler->getMenuTheme($menu); $parent = Input::get('parent'); $selectedMenuType = Input::get('selectType'); if ($selectedMenuType === null) { return Redirect::route('settings.menu.select.types', [$menu->id])->with('alert', ['type' => 'warning', 'message' => 'type 을 선택하십시오']); } $siteKey = $siteHandler->getCurrentSiteKey(); $menuTypeObj = $moduleHandler->getModuleObject($selectedMenuType); $menuMaxDepth = $config->get('xe.menu.maxDepth'); return XePresenter::make('menu.createItem', ['menu' => $menu, 'menuType' => $menuTypeObj, 'siteKey' => $siteKey, 'maxDepth' => $menuMaxDepth, 'parent' => $parent, 'selectedType' => $selectedMenuType, 'menuTypeArgs' => ['menuType' => $menuTypeObj, 'action' => 'createMenuForm', 'param' => []], 'menuConfig' => $menuConfig]); }