Xpressengine\Menu\MenuHandler::deleteMenuItemTheme PHP Method

deleteMenuItemTheme() public method

Delete menu item config consisting of theme identifiers
public deleteMenuItemTheme ( MenuItem $item ) : void
$item Xpressengine\Menu\Models\MenuItem menu item instance
return void
    public function deleteMenuItemTheme(MenuItem $item)
    {
        $this->configs->removeByName($this->menuKeyString($item));
    }

Usage Example

Esempio n. 1
0
 /**
  * destroyItem
  * 메뉴 아이템 삭제 처리 메소드
  *
  * @param MenuHandler     $handler menu handler
  * @param string          $menuId  menu id
  * @param string          $itemId  item id
  *
  * @return RedirectResponse
  * @throws Exception
  */
 public function destroyItem(MenuHandler $handler, $menuId, $itemId)
 {
     $item = $handler->getItem($itemId);
     $menu = $item->menu;
     if ($menu->getKey() !== $menuId) {
         throw new InvalidArgumentHttpException(400);
     }
     XeDB::beginTransaction();
     try {
         $handler->removeItem($item);
         foreach (File::getByFileable($item->getKey()) as $file) {
             XeStorage::unBind($item->getKey(), $file);
         }
         $handler->deleteMenuItemTheme($item);
         $this->permissionUnregister($handler->permKeyString($item));
     } catch (Exception $e) {
         XeDB::rollback();
         return Redirect::back()->with('alert', ['type' => 'danger', 'message' => $e->getMessage()]);
     }
     XeDB::commit();
     return Redirect::route('settings.menu.index')->with('alert', ['type' => 'success', 'message' => 'MenuItem deleted']);
 }