App\Http\Controllers\MenuController::createItem PHP Method

createItem() public method

createItem
public createItem ( Illuminate\Contracts\Config\Repository $config, MenuHandler $handler, ModuleHandler $moduleHandler, SiteHandler $siteHandler, string $menuId ) : Xpressengine\Presenter\RendererInterface
$config Illuminate\Contracts\Config\Repository laravel config
$handler Xpressengine\Menu\MenuHandler menu handler
$moduleHandler Xpressengine\Menu\ModuleHandler module handler
$siteHandler Xpressengine\Site\SiteHandler site handler
$menuId string menu id
return Xpressengine\Presenter\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]);
    }