MyMenu
Manage your navigation menu
Manage your navigation menu
MyMenu class contains myMenu method that returns array of menus. By default we have following menus
<?php
namespace App\Services;
use Pratiksh\Adminetic\Services\Helper\SidebarHelper;
use Pratiksh\Adminetic\Contracts\SidebarInterface;
class MyMenu extends SidebarHelper implements SidebarInterface
{
public function myMenu(): array
{
return [
[
'type' => 'breaker',
'name' => 'General',
'description' => 'Administration Control',
],
[
'type' => 'link',
'name' => 'Dashboard',
'icon' => 'fa fa-home',
'link' => route('dashboard'),
'is_active' => request()->routeIs('home') ? 'active' : '',
'conditions' => [
[
'type' => 'and',
'condition' => auth()->user()->hasRole('admin'),
],
],
],
[
'type' => 'menu',
'name' => 'User Management',
'icon' => 'fa fa-users',
'is_active' => request()->routeIs('user*') ? 'active' : '',
'pill' => [
'class' => 'badge badge-info badge-air-info',
'value' => \App\Models\User::count(),
],
'conditions' => [
[
'type' => 'or',
'condition' => auth()->user()->can('view-any', \App\Models\User::class),
],
[
'type' => 'or',
'condition' => auth()->user()->can('create', \App\Models\User::class),
],
],
'children' => $this->indexCreateChildren('user', \App\Models\User::class),
],
[
'type' => 'menu',
'name' => 'Role',
'icon' => 'fa fa-user-tie',
'is_active' => request()->routeIs('role*') ? 'active' : '',
'conditions' => [
[
'type' => 'or',
'condition' => auth()->user()->can('view-any', \Pratiksh\Adminetic\Models\Admin\Role::class),
],
[
'type' => 'or',
'condition' => auth()->user()->can('create', \Pratiksh\Adminetic\Models\Admin\Role::class),
],
],
'children' => $this->indexCreateChildren('role', \Pratiksh\Adminetic\Models\Admin\Role::class),
],
[
'type' => 'menu',
'name' => 'Permission',
'icon' => 'fa fa-check',
'is_active' => request()->routeIs('permission*') ? 'active' : '',
'conditions' => [
[
'type' => 'or',
'condition' => auth()->user()->can('view-any', \Pratiksh\Adminetic\Models\Admin\Permission::class),
],
[
'type' => 'or',
'condition' => auth()->user()->can('create', \Pratiksh\Adminetic\Models\Admin\Permission::class),
],
],
'children' => $this->indexCreateChildren('permission', \Pratiksh\Adminetic\Models\Admin\Permission::class),
],
[
'type' => 'link',
'name' => 'Setting',
'icon' => 'fa fa-cog',
'link' => adminRedirectRoute('setting'),
'is_active' => request()->routeIs('home') ? 'active' : '',
'conditions' => [
[
'type' => 'or',
'condition' => auth()->user()->can('view-any', \Pratiksh\Adminetic\Models\Admin\Setting::class),
],
[
'type' => 'or',
'condition' => auth()->user()->can('create', \Pratiksh\Adminetic\Models\Admin\Setting::class),
],
],
],
[
'type' => 'menu',
'name' => 'Preference',
'icon' => 'fa fa-wrench',
'is_active' => request()->routeIs('preference*') ? 'active' : '',
'conditions' => [
[
'type' => 'or',
'condition' => auth()->user()->can('view-any', \Pratiksh\Adminetic\Models\Admin\Preference::class),
],
[
'type' => 'or',
'condition' => auth()->user()->can('create', \Pratiksh\Adminetic\Models\Admin\Preference::class),
],
],
'children' => $this->indexCreateChildren('preference', \Pratiksh\Adminetic\Models\Admin\Preference::class),
],
[
'type' => 'link',
'name' => 'Activities',
'icon' => 'fa fa-book',
'is_active' => request()->routeIs('activity*') ? 'active' : '',
'link' => adminRedirectRoute('activity'),
'conditions' => [
[
'type' => 'and',
'condition' => auth()->user()->hasRole('admin'),
],
],
],
[
'type' => 'breaker',
'name' => 'DEV TOOLS',
'description' => 'Development Environment',
],
[
'type' => 'menu',
'name' => 'Builder',
'conditions' => [
[
'type' => 'or',
'condition' => env('APP_ENV') == 'local'
],
],
'children' => [
[
'type' => 'submenu',
'name' => 'Form Builder 1',
'link' => 'http://admin.pixelstrap.com/cuba/theme/form-builder-1.html',
],
[
'type' => 'submenu',
'name' => 'Form Builder 2',
'link' => 'http://admin.pixelstrap.com/cuba/theme/form-builder-2.html',
],
[
'type' => 'submenu',
'name' => 'Page Builder',
'link' => 'http://admin.pixelstrap.com/cuba/theme/pagebuild.html',
],
[
'type' => 'submenu',
'name' => 'Buttom Builder',
'link' => 'http://admin.pixelstrap.com/cuba/theme/button-builder.html',
],
]
],
[
'type' => 'menu',
'name' => 'Documentation',
'conditions' => [
[
'type' => 'or',
'condition' => env('APP_ENV') == 'local'
],
],
'children' => [
[
'type' => 'submenu',
'name' => 'Frontend Docs',
'link' => 'https://docs.pixelstrap.com/cuba/all_in_one/document/index.html',
],
[
'type' => 'submenu',
'name' => 'Adminetic Docs',
'link' => 'https://pratikdai404.gitbook.io/adminetic/',
],
]
],
[
'type' => 'link',
'name' => 'Github',
'icon' => 'fa fa-github',
'link' => 'https://github.com/pratiksh404/admineticl',
],
];
}
}
Type: Type/Characteristic of <emu
Name: Header name of menu
Icon: Icon of Menu
is_active: (bool) is menu active condition
link: Redirect Route
conditions: Condition to acces that route
pill: Pill value and style
children: children of menu header
Explanations
Type
There are three types of menu
Type
Characteristics
breaker
Defines a menu group
Consists
name : eg=General
description: eg=Administrative Control

link
Single Menu Link
Consists
name : Name of menu eg=Dashboard
icon: Icon of menu eg=fa fa-home
link: Route eg: route('dashboard')
pill: Small badge info takes class and value of badge
conditions: Take array of conditions that dictates visibility of the menu. array consists of type and condition. type can be
ororand.is_active: bool value that states if the current menu route is active or not
eg:
menu
General Menu Containing Childrens
Consists
name : Name of menu eg=User Management
icon: Icon of menu eg=fa fa-user
link: Route eg: adminRedirectRoute('user')
pill: Small badge info takes class and value of badge
conditions: Take array of conditions that dictates visibility of the menu. array consists of type and condition. type can be
ororand.is_active: bool value that states if the current menu route is active or not
eg:
children: submenu of main menu
For module menu adminetic providers function
called
indexCreateChildren
or you can inject your own children
Here is the example of adminetic administration menu
Last updated
Was this helpful?