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]]);
 }
Exemple #2
0
 /**
  * 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));
     }
 }