@@ -56,6 +56,9 @@ function ($module) {
5656
5757 $ module = app ('addon.collection ' )->get ($ item ['slug ' ]);
5858
59+ $ navigation [$ index ]['root_menu ' ] = (isset ($ module ->root_menu )) ? $ module ->root_menu : null ;
60+ $ navigation [$ index ]['root_menu_icon ' ] = (isset ($ module ->root_menu_icon )) ? $ module ->root_menu_icon : null ;
61+
5962 $ menu = array ();
6063
6164 $ sections = $ this ->buildSection ($ module );
@@ -84,18 +87,31 @@ public function grouping($navigation)
8487 $ new_navigation = [];
8588
8689 foreach ($ navigation as $ addon_key => $ addon ) {
87- if (isset ($ list [$ addon_key ])) {
88- $ item = $ list [$ addon_key ];
90+ if ($ addon ['root_menu ' ]) {
91+ $ item = strtolower ($ addon ['root_menu ' ]);
92+
93+ $ addons = isset ($ new_navigation [$ item ]['addons ' ]) ? $ new_navigation [$ item ]['addons ' ] : array ();
94+ $ addons [$ addon_key ] = $ addon ;
95+
96+ $ new_navigation [$ item ]['addons ' ] = $ addons ;
97+ $ new_navigation [$ item ]['title ' ] = $ addon ['root_menu ' ];
98+ $ new_navigation [$ item ]['icon ' ] = (isset ($ new_navigation [$ item ]['icon ' ]) && $ new_navigation [$ item ]['icon ' ]) ? $ new_navigation [$ item ]['icon ' ] : $ addon ['root_menu_icon ' ];
99+ $ new_navigation [$ item ]['active ' ] = false ;
100+
89101 } else {
90- $ item = 'apps ' ;
91- }
92- $ addons = isset ($ new_navigation [$ item ]['addons ' ]) ? $ new_navigation [$ item ]['addons ' ] : array ();
93- $ addons [$ addon_key ] = $ addon ;
102+ if (isset ($ list [$ addon_key ])) {
103+ $ item = $ list [$ addon_key ];
104+ } else {
105+ $ item = 'apps ' ;
106+ }
107+ $ addons = isset ($ new_navigation [$ item ]['addons ' ]) ? $ new_navigation [$ item ]['addons ' ] : array ();
108+ $ addons [$ addon_key ] = $ addon ;
94109
95- $ new_navigation [$ item ]['addons ' ] = $ addons ;
96- $ new_navigation [$ item ]['title ' ] = trans ('visiosoft.plugin.submenu::group. ' . $ item );
97- $ new_navigation [$ item ]['icon ' ] = 'visiosoft.plugin.submenu::images/ ' . $ item . '.svg ' ;
98- $ new_navigation [$ item ]['active ' ] = false ;
110+ $ new_navigation [$ item ]['addons ' ] = $ addons ;
111+ $ new_navigation [$ item ]['title ' ] = trans ('visiosoft.plugin.submenu::group. ' . $ item );
112+ $ new_navigation [$ item ]['icon ' ] = 'visiosoft.plugin.submenu::images/ ' . $ item . '.svg ' ;
113+ $ new_navigation [$ item ]['active ' ] = false ;
114+ }
99115 }
100116
101117 return $ new_navigation ;
0 commit comments