"Cubist\\Backpack\\CubistBackpackServiceProvider"
],
"aliases": {
- "CubistMenu": "Cubist\\Backpack\\App\\CubistMenu",
+ "CubistMenu": "Cubist\\Backpack\\App\\Magic\\Menu\\Facade",
"Markdown": "Illuminate\\Mail\\Markdown"
}
}
+++ /dev/null
-<?php
-
-namespace Cubist\Backpack\app\Magic;
-
-use Cubist\Backpack\app\Magic\Models\CMSPage;
-use Lavary\Menu\Menu;
-
-class CubistMenu extends Menu
-{
- public function get($key)
- {
- if (!$this->exists($key)) {
- $this->makeAllMenus();
- }
- return parent::get($key);
- }
-
- public function makeAllMenus()
- {
- $tree = CMSPage::getTree();
- foreach ($tree as $mainKey => $main) {
- $nav_items = [];
- foreach ($main['children'] as $name => $item) {
- $submenus = null;
-
- $links = [];
-
- foreach ($item['children'] as $key => $child) {
- $links[$child['element']->title] = $child['element']->slug;
- }
-
- if (count($links) > 0) {
- $submenus = [['links' => $links]];
- }
-
- $s = ['url' => $item['element']->slug];
- if (null !== $submenus) {
- $s['submenus'] = $submenus;
- }
-
- $nav_items[$item['element']->title] = $s;
- }
-
- \Menu::make($mainKey, function ($menu) use ($nav_items) {
-
- foreach ($nav_items as $nav_label => $nav_item) {
-
- $parent = $menu->add($nav_label, $nav_item['url']);
-
- // Handle items with submenus
- if (isset($nav_item['submenus'])) {
-
- foreach ($nav_item['submenus'] as $submenu_data) {
-
- // Create an empty sub-element that will serve as a wrapper for the submenu(s)
- $wrapper = $parent->raw('')->attr(['class' => 'nav-submenu-wrapper']);
-
- // Some submenus have a title element
- if (isset($submenu_data['title'])) {
- $wrapper->raw($submenu_data['title'])->attr(['class' => 'nav-submenu-title']);
- }
-
- foreach ($submenu_data['links'] as $label => $url) {
- $wrapper->add($label, $url);
- }
- }
- }
-
- }
-
- });
- }
-
-
- if ($mainKey == '#main') {
- // Also make a menu for the breadcrumbs - this one is simpler and doesn't have the submenu headings
- \Menu::make('breadcrumbs', function ($menu) use ($nav_items) {
-
- // Start with home link
- $menu = $menu->add('Home', '');
-
- foreach ($nav_items as $nav_label => $nav_item) {
-
- $parent = $menu->add($nav_label, $nav_item['url']);
-
- // Handle items with submenus
- if (isset($nav_item['submenus'])) {
-
- foreach ($nav_item['submenus'] as $submenu_data) {
- foreach ($submenu_data['links'] as $label => $url) {
- $parent->add($label, $url);
- }
- }
- }
- }
- });
- }
- }
-}
--- /dev/null
+<?php
+
+
+namespace app\Magic\Menu;
+
+use Cubist\Backpack\app\Magic\Menu\Menu;
+use \Illuminate\Support\Facades\Facade as BaseFacade;
+
+class Facade extends BaseFacade
+{
+ protected static function getFacadeAccessor()
+ {
+ return Menu::class;
+ }
+}
--- /dev/null
+<?php
+
+namespace Cubist\Backpack\app\Magic\Menu;
+
+use Cubist\Backpack\app\Magic\Models\CMSPage;
+use Lavary\Menu\Menu as BaseMenu;
+
+class Menu extends BaseMenu
+{
+ public function get($key)
+ {
+ if (!$this->exists($key)) {
+ $this->makeAllMenus();
+ }
+ return parent::get($key);
+ }
+
+ public function makeAllMenus()
+ {
+ $tree = CMSPage::getTree();
+ foreach ($tree as $mainKey => $main) {
+ $nav_items = [];
+ foreach ($main['children'] as $name => $item) {
+ $submenus = null;
+
+ $links = [];
+
+ foreach ($item['children'] as $key => $child) {
+ $links[$child['element']->title] = $child['element']->slug;
+ }
+
+ if (count($links) > 0) {
+ $submenus = [['links' => $links]];
+ }
+
+ $s = ['url' => $item['element']->slug];
+ if (null !== $submenus) {
+ $s['submenus'] = $submenus;
+ }
+
+ $nav_items[$item['element']->title] = $s;
+ }
+
+ \Menu::make($mainKey, function ($menu) use ($nav_items) {
+
+ foreach ($nav_items as $nav_label => $nav_item) {
+
+ $parent = $menu->add($nav_label, $nav_item['url']);
+
+ // Handle items with submenus
+ if (isset($nav_item['submenus'])) {
+
+ foreach ($nav_item['submenus'] as $submenu_data) {
+
+ // Create an empty sub-element that will serve as a wrapper for the submenu(s)
+ $wrapper = $parent->raw('')->attr(['class' => 'nav-submenu-wrapper']);
+
+ // Some submenus have a title element
+ if (isset($submenu_data['title'])) {
+ $wrapper->raw($submenu_data['title'])->attr(['class' => 'nav-submenu-title']);
+ }
+
+ foreach ($submenu_data['links'] as $label => $url) {
+ $wrapper->add($label, $url);
+ }
+ }
+ }
+
+ }
+
+ });
+ }
+
+
+ if ($mainKey == '#main') {
+ // Also make a menu for the breadcrumbs - this one is simpler and doesn't have the submenu headings
+ \Menu::make('breadcrumbs', function ($menu) use ($nav_items) {
+
+ // Start with home link
+ $menu = $menu->add('Home', '');
+
+ foreach ($nav_items as $nav_label => $nav_item) {
+
+ $parent = $menu->add($nav_label, $nav_item['url']);
+
+ // Handle items with submenus
+ if (isset($nav_item['submenus'])) {
+
+ foreach ($nav_item['submenus'] as $submenu_data) {
+ foreach ($submenu_data['links'] as $label => $url) {
+ $parent->add($label, $url);
+ }
+ }
+ }
+ }
+ });
+ }
+ }
+}