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

editItem() public method

editItem 선택된 메뉴의 아이템을 view & edit 페이지 구성
public editItem ( MenuHandler $handler, ModuleHandler $modules, SiteHandler $sites, string $menuId, string $itemId ) : Xpressengine\Presenter\RendererInterface
$handler Xpressengine\Menu\MenuHandler menu handler
$modules Xpressengine\Menu\ModuleHandler module handler
$sites Xpressengine\Site\SiteHandler site handler
$menuId string menu id
$itemId string item id
return Xpressengine\Presenter\RendererInterface
    public function editItem(MenuHandler $handler, ModuleHandler $modules, SiteHandler $sites, $menuId, $itemId)
    {
        $item = $handler->getItem($itemId, ['basicImage', 'hoverImage', 'selectedImage', 'mBasicImage', 'mHoverImage', 'mSelectedImage']);
        $menu = $item->menu;
        if ($menu->getKey() !== $menuId) {
            throw new InvalidArgumentHttpException(400);
        }
        try {
            $menuType = $modules->getModuleObject($item->type);
        } catch (NotFoundModuleException $e) {
            $menuType = null;
        }
        $homeId = $sites->getHomeInstanceId();
        $itemConfig = $handler->getMenuItemTheme($item);
        $desktopTheme = $itemConfig->getPure('desktopTheme');
        $mobileTheme = $itemConfig->getPure('mobileTheme');
        $parentThemeMode = false;
        if ($desktopTheme === null && $mobileTheme === null) {
            $parentThemeMode = true;
        }
        $parentConfig = $itemConfig->getParent();
        return XePresenter::make('menu.editItem', ['menu' => $menu, 'item' => $item, 'homeId' => $homeId, 'menuType' => $menuType, 'parentThemeMode' => $parentThemeMode, 'itemConfig' => $itemConfig, 'parentConfig' => $parentConfig]);
    }