updateMenuTheme() public method

Update menu config consisting of theme identifiers
public updateMenuTheme ( Menu $menu, string $desktopTheme, string $mobileTheme ) : void
$menu Xpressengine\Menu\Models\Menu menu instance
$desktopTheme string theme id
$mobileTheme string theme id
return void
Esempio n. 1
0
 /**
  * update
  *
  * @param MenuHandler $handler menu handler
  * @param string      $menuId to update menu entity object id
  *
  * @return RedirectResponse
  * @throws Exception
  */
 public function update(MenuHandler $handler, $menuId)
 {
     $menu = $handler->get($menuId);
     $desktopTheme = Input::get('theme_desktop');
     $mobileTheme = Input::get('theme_desktop');
     $rules = ['menuTitle' => 'required', 'theme_desktop' => 'required', 'theme_mobile' => 'required'];
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         Input::flash();
         return Redirect::back()->with('alert', ['type' => 'danger', 'message' => $validator->messages()]);
     }
     XeDB::beginTransaction();
     try {
         $menu->title = Input::get('menuTitle');
         $menu->description = Input::get('menuDescription');
         $handler->put($menu);
         $handler->updateMenuTheme($menu, $desktopTheme, $mobileTheme);
     } catch (Exception $e) {
         XeDB::rollback();
         Input::flash();
         return Redirect::back()->with('alert', ['type' => 'danger', 'message' => $e->getMessage()]);
     }
     XeDB::commit();
     return Redirect::route('settings.menu.index');
 }