netcore/module-admin

Netcore CMS :: Administration panel base
2,755
Install
composer require netcore/module-admin
Latest Version:v3.1.3
PHP:>=7.1
License:MIT
Last Updated:Jul 23, 2018
Links: GitHub  ·  Packagist
Maintainer: netcorelv

Administration system

This module adds an administration panel to the site, which gives access to other module administration and menu editing. From here you will be able to edit the site content if Content module is present, add/change the menu items etc.

Pre-installation

This package is part of Netcore CMS ecosystem and is only functional in a project that has following packages installed:

https://github.com/netcore/netcore

https://github.com/netcore/module-user

https://github.com/netcore/module-setting

https://github.com/nWidart/laravel-modules

Installation

Require this package with composer:

composer require netcore/module-admin

Publish config, assets, migrations. Migrate and seed:

php artisan module:publish Admin
php artisan module:publish-migration Admin
php artisan migrate
php artisan module:seed Admin

Usage

You can edit the admin menu and client menus in the Menus section

Managing menus: Menus

You can access the menu an it's items from a menu() helper function

menu('leftAdminMenu')->getItemTree();

To get all menus use

menu()->get();

To render a menu from a template use

menu('<MENU KEY>')->render('<TEMPLATE NAME>');

By default this function will look in the resources/views/templates/menu directory for the template, but you can also provide a different path

menu('<MENU KEY>')->render('<TEMPLATE NAME>', '<PATH>');

For example

menu('leftAdminMenu')->render('menu', 'client.partials');

Seeding

You can add new menus by creating seeders


$menus = [
    [
        name => 'leftAdminMenu',
        type => 'admin',
        items => [
                'name'   => 'Dashboard',
                'icon'   => 'ion-ios-pulse-strong',
                'type'   => 'route',
                'value'  => 'admin::dashboard.index',
                'module' => 'Admin',
                'is_active' => 1,
                'parameters' => json_encode([])
            ],
            [
                'name'   => 'Menus',
                'icon'   => 'ion-navicon-round',
                'type'   => 'route',
                'value'  => 'admin::menu.index',
                'module' => 'Admin',
                'is_active' => 1,
                'active_resolver' => 'admin::menu.*',
                'parameters' => json_encode([])
            ]
    ],
    [
        name => 'mainClientMenu',
        type => 'public',
        items => [
             [
                 'name'   => 'Homepage',
                 'icon'   => 'fa-globe',
                 'type'   => 'url',
                 'value'  => '/',
                 'parameters' => json_encode([])
             ],
         ]
    ]
];

foreach( $menus as $key => $menu ) {
    $menu = Menu::firstOrCreate([
        'name' => $menu['name'],
        'type' => $menu['type']
    ]);

    foreach( $menu['items'] as $item ){
        $menu->items()->firstOrCreate($item);
    }
}

Related Packages

david-weber/dominion

A simple, clean admin package for Laravel 4 with no other dependencies.

94 7
encore/laravel-admin

laravel admin

3,227,351 11,136
nwidart/laravel-modules

Laravel Module management

17,917,271 6,215
jeroennoten/laravel-adminlte

Easy AdminLTE v4 integration with Laravel

5,367,225 4,000