示例#1
0
 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]]);
 }
示例#2
0
 /**
  * @param View $view
  */
 public function compose(View $view)
 {
     //Получаем из БД все активные сссылки для админ меню, сортировка по возрастанию
     $links = Menu::find(1)->links()->orderBy('pivot_sort')->where('status', '=', 1)->get();
     //Если ссылок нет
     if (!$links->count()) {
         $this->menu = "<--!  NO LINKS  -->";
         $view->with('menu', $this->menu);
     } else {
         //Сортируем по родителю
         foreach ($links->toArray() as $item) {
             $this->linksArray[$item['parent_id']][] = $item;
         }
         $this->menu = "<ul class=\"sidebar-menu\">";
         $this->menu .= "<li class=\"header\">ADMIN MENU</li>";
         foreach ($this->linksArray[0] as $item) {
             //Есть ли у ссылки дети
             if (array_key_exists($item['id'], $this->linksArray)) {
                 //Активность категории
                 if (request()->is($item['link_url'] . "*")) {
                     $this->menu .= "<li class=\"active treeview\">";
                 } else {
                     $this->menu .= "<li class=\"treeview\">";
                 }
                 $this->menu .= "<a href=\"#\">";
                 $this->menu .= "<i class=\"" . $item['image_url'] . "\"></i> <span>" . $item['link_name'] . "</span>";
                 $this->menu .= "<i class=\"fa fa-angle-left pull-right\"></i></a>";
                 $this->menu .= "<ul class=\"treeview-menu\">";
                 //Обработка подкатегорий ссылок
                 $this->createMenu($item);
                 $this->menu .= "</ul></li>";
             } else {
                 //Активность ссылки
                 if (request()->path() == $item['link_url']) {
                     $this->menu .= "<li class=\"active\">";
                 } else {
                     $this->menu .= "<li>";
                 }
                 $this->menu .= "<a href=\"/" . $item['link_url'] . "\"><i class=\"" . $item['image_url'] . "\"></i> <span>" . $item['link_name'] . "</span></a></li>";
             }
         }
         $this->menu .= "</ul>";
         $view->with('menu', $this->menu);
     }
 }
示例#3
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]]);
 }
示例#4
0
 /**
  * Просмотр ссылок меню, а также их добавление и удаление.
  * @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));
     }
 }