/** * Run the database seeds. * * @return void */ public function run() { //////////////////////////////////// // Create menu: root $menuRoot = Menu::create(['name' => 'root', 'label' => 'Root', 'icon' => null, 'separator' => false, 'url' => null, 'enabled' => true, 'position' => 0]); // Force root parent to itself. $menuRoot->parent_id = $menuRoot->id; $menuRoot->save(); // Two examples provided to get you started! // // Create Home menu // $menuHome = Menu::create([ // 'name' => 'home', // 'label' => 'Home', // 'icon' => 'fa fa-home fa-colour-green', // 'separator' => false, // 'url' => '/', // 'enabled' => true, // 'position' => 0, // 'parent_id' => $menuRoot->id, // Parent is root. // ]); // // Create Dashboard menu // $menuDashboard = Menu::create([ // 'name' => 'dashboard', // 'label' => 'Dashboard', // 'icon' => 'fa fa-dashboard', // 'separator' => false, // 'url' => '/dashboard', // 'enabled' => true, // 'position' => 0, // 'parent_id' => $menuHome->id, // Parent is home. // ]); }
/** * Run the database seeds. * * @return void */ public function run() { ///////// // Find root menu. $menuRoot = Menu::where('name', 'root')->first(); // Create Demo container. $menuPackageHome = Menu::create(['name' => 'package-home', 'label' => 'sroutier/menu-builder', 'icon' => 'fa fa-github', 'separator' => false, 'url' => "https://github.com/sroutier/menu-builder", 'enabled' => true, 'position' => 0, 'parent_id' => $menuRoot->id]); $menuHome = Menu::create(['name' => 'home', 'label' => 'Home', 'icon' => 'fa fa-home', 'separator' => false, 'url' => "/", 'enabled' => true, 'position' => 1, 'parent_id' => $menuRoot->id]); $menuDemo = Menu::create(['name' => 'demo', 'label' => 'Demo', 'icon' => 'fa fa-book fa-colour-blue', 'separator' => false, 'url' => "/menu-builder-demo/home", 'enabled' => true, 'position' => 2, 'parent_id' => $menuRoot->id]); // Create Sub menu 1 container. $menuDemoSub1 = Menu::create(['name' => 'sub-menu-1', 'label' => 'Sub menu 1', 'icon' => 'fa fa-bookmark', 'separator' => false, 'url' => "/menu-builder-demo/one", 'enabled' => true, 'position' => 0, 'parent_id' => $menuDemo->id]); // Create Sub menu 2 container. $menuDemoSub2 = Menu::create(['name' => 'sub-menu-2', 'label' => 'Sub menu 2', 'icon' => 'fa fa-bookmark-o', 'separator' => false, 'url' => "/menu-builder-demo/two", 'enabled' => true, 'position' => 1, 'parent_id' => $menuDemo->id]); // Create Admin container. $menuAdmin = Menu::create(['name' => 'admin', 'label' => 'Admin', 'icon' => 'fa fa-cog fa-colour-red', 'separator' => false, 'url' => null, 'enabled' => true, 'position' => 999, 'parent_id' => $menuRoot->id]); // Create Menus sub-menu $menuMenus = Menu::create(['name' => 'menus', 'label' => 'Menus', 'icon' => 'fa fa-bars', 'separator' => false, 'url' => "/admin/menus", 'enabled' => true, 'position' => 0, 'parent_id' => $menuAdmin->id]); }
/** * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function save(Request $request) { $msg = ""; $attributes = $request->all(); $id = $attributes['id']; if ($id) { // If $id is not null or blank we must be editing. // Locate existing menu item. $menuItem = Menu::find($id); if (!$menuItem->isEditable()) { $msg = trans('menu-builder::menu-builder.update-failed-cant-be-edited', ['id' => $menuItem->id, 'label' => $menuItem->label]); } else { // validate attributes. $this->validate($request, array('name' => 'required|unique:menus,id,' . $id, 'label' => 'required')); // Update menu item. $menuItem->update($attributes); $msg = trans('menu-builder::menu-builder.update-success'); } } else { // else creating new menu item. // First unset/remove blank 'id' element from the array, otherwise the insert SQL statement will not // include an incremented value for the identity column, but instead the value of id which is // blank: ''. unset($attributes['id']); // Validate attributes. $this->validate($request, array('name' => 'required|unique:menus', 'label' => 'required')); // Create new menu item. $menuItem = Menu::create($attributes); $msg = trans('menu-builder::menu-builder.create-success'); } return redirect('/admin/menus')->with('status_message', $msg); }