public function run() { //Выбираем меню админки - id = 1 $menu = Menu::find(1); //Добавляем родительскую ссылку $link = Links::create(['link_name' => 'Комментарии', 'link_url' => 'admin/comment', 'image_url' => 'fa fa-comments', 'status' => 1]); //Привязываем к меню $menu->links()->attach([$link->id => ['sort' => 5]]); }
/** * Run the database seeds. * * @return void */ public function run() { //*********Создаем меню для админки************ $menu = Menu::create(['menu_name' => 'Admin', 'description' => 'Меню для админки', 'status' => 1]); //Главная $link = Links::create(['link_name' => 'Главная', 'link_url' => 'admin', 'image_url' => 'fa fa-home', 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 1]]); //Пользователи $link = Links::create(['link_name' => 'Пользователи', 'link_url' => 'admin/user', 'image_url' => 'fa fa-users', 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 2]]); //=============== Меню ================================== $link = Links::create(['link_name' => 'Меню', 'link_url' => 'admin/menu', 'image_url' => 'fa fa-bars', 'status' => 1]); $parent_id = $link->id; $menu->links()->attach([$link->id => ['sort' => 3]]); //Просмотр всех созданных Меню $link = Links::create(['link_name' => 'Все меню', 'link_url' => 'admin/menu', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 1]]); //Добавить меню $link = Links::create(['link_name' => 'Добавить меню', 'link_url' => 'admin/menu/create', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 2]]); //=============== Ссылки ============================= $link = Links::create(['link_name' => 'Ссылки', 'link_url' => 'admin/links', 'image_url' => 'fa fa-link', 'status' => 1]); $parent_id = $link->id; $menu->links()->attach([$link->id => ['sort' => 4]]); //Все cсылки $link = Links::create(['link_name' => 'Все ссылки', 'link_url' => 'admin/links', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 1]]); //Добавить ссылку $link = Links::create(['link_name' => 'Добавить ссылку', 'link_url' => 'admin/links/create', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 2]]); //================= Категории контента =============== $link = Links::create(['link_name' => 'Категории', 'link_url' => 'admin/category', 'image_url' => 'fa fa-newspaper-o', 'status' => 1]); $parent_id = $link->id; $menu->links()->attach([$link->id => ['sort' => 5]]); //категории материалов $link = Links::create(['link_name' => 'Категории', 'link_url' => 'admin/category', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 1]]); //добавить категорию $link = Links::create(['link_name' => 'Создать категорию', 'link_url' => 'admin/category/create', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 2]]); //================= Материалы сайта =============== $link = Links::create(['link_name' => 'Статьи', 'link_url' => 'admin/article', 'image_url' => 'fa fa-pencil', 'status' => 1]); $parent_id = $link->id; $menu->links()->attach([$link->id => ['sort' => 6]]); //Материалы сайта $link = Links::create(['link_name' => 'Все статьи', 'link_url' => 'admin/article', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 1]]); //Добавить материал на сайт $link = Links::create(['link_name' => 'Добавить статью', 'link_url' => 'admin/article/create', 'image_url' => 'fa fa-arrow-right', 'parent_id' => $parent_id, 'status' => 1]); $menu->links()->attach([$link->id => ['sort' => 2]]); //======= Обратная связь ======= $link = Links::create(['link_name' => 'Обратная связь', 'link_url' => 'admin/feedback', 'image_url' => 'fa fa-commenting', 'status' => 1]); //Привязываем к меню $menu->links()->attach([$link->id => ['sort' => 7]]); //======== Контакты =========== $link = Links::create(['link_name' => 'Контакты', 'link_url' => 'admin/contact', 'image_url' => 'fa fa-phone', 'status' => 1]); //Привязываем к меню $menu->links()->attach([$link->id => ['sort' => 8]]); //======== Настройки =========== $link = Links::create(['link_name' => 'Настройки', 'link_url' => 'admin/settings', 'image_url' => 'fa fa-cogs', 'status' => 1]); //Привязываем к меню $menu->links()->attach([$link->id => ['sort' => 9]]); }
/** * Просмотр ссылок меню, а также их добавление и удаление. * @param $id * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function getView($id) { //Получаем из БД список ссылок для выбранного меню $links = Menu::find($id)->links()->orderBy('pivot_sort')->get(); //Получаем незадействованные в данном меню ссылки $newLinks = Links::whereNotIn('id', $links->lists('id'))->get(); //Если ссылок нет if (!$links->count()) { return view('admin::admin.menu.view', array('tree' => $this->tree, 'id' => $id, 'newLinks' => $newLinks)); } else { //Сортируем по родителю foreach ($links->toArray() as $item) { $this->linksArray[$item['parent_id']][] = $item; } //Сортируем массив foreach ($this->linksArray[self::$cnt] as $item) { $this->tree[self::$cnt]['id'] = $item['id']; $this->tree[self::$cnt]['span'] = "<span class=\"badge\">"; $this->tree[self::$cnt]['link_name'] = $item['link_name']; $this->tree[self::$cnt]['link_url'] = $item['link_url']; $this->tree[self::$cnt]['pivot_id'] = $item['pivot']['id']; $this->tree[self::$cnt]['pivot_sort'] = $item['pivot']['sort']; //Увеличиваем значение счетчика self::$cnt++; //Есть ли у ссылки дети if (array_key_exists($item['id'], $this->linksArray)) { $this->createTree($item); } } return view('admin::admin.menu.view', array('tree' => $this->tree, 'id' => $id, 'newLinks' => $newLinks)); } }