Skip to content

Application Control

This section describes how you can manage your application.

Admin Settings

Admin settings where you can control all of your settings like enable/disable any features or upload logo, change your application name etc. There is no need to go to admin settings core code. You just need to add a setting inside adminsetting.php. It will generate a form field automatically for you.

Example:

 'settings'=>[
        'general' =>[
            'lang' =>[
                'field_type'=>'select',
                'field_value' => 'get_list_of_languages',
                'slug_text' => 'Language',
            ],
        ],
    ];

Here under settings > general is a section that is grouped in admin setting contains a bunch of settings and it is saved as a group. And under general > lang is an admin setting field. And under lang all are the field options.

Options:

Field Type Required Values Description
field_type Yes text,textarea,select,checkbox,radio,switch,image The field type that we supported now.
field_label Yes string Define you field label.
field_value No string|array Function name or array of values. Applicable for field_type select|checkbox|radio
default No mixed Default value of the field
placeholder No string Placeholder can only be used in text and textarea.
validation No integer, numeric, email, digit, boolean, required,size,min,max These are the validation rules and only size is applicable for field_type image
input_class No string Add custom class for your input field.
section_start_tag No string Change start tag for particular setting.
section_end_tag No string Change end tag for particular setting.
slug_start_tag No string Change start tag for particular setting label.
slug_end_tag No string Change end tag for particular setting label.
value_start_tag No string Change start tag for particular setting value.
value_end_tag No string Change end tag for particular setting value.

The Menu Manager where you can manage your menu. It is a visual menu manager. You can build and use it anywhere in your project by using helper function get_nav($place). By default one place is registered that is back-end. If you want to register another place then add you palce inside config/navigation.php file under registered_place section just like bellow:

'registered_place' => [
        'back-end',
        'front-end'
    ],

You can chagne the menu templete or create another new template from config/navigation.php

'navigation_template' =>[
    'default_nav' => [
        'navigation_wrapper_start'=> '<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">',
        'navigation_wrapper_end'=> '</ul>',
        'navigation_item_wrapper_start'=> '<li class="nav-item">',
        'navigation_item_wrapper_end'=> '</li>',

        'navigation_item_beginning_wrapper_start'=> '',
        'navigation_item_beginning_wrapper_end'=> '',
        'navigation_item_text_wrapper_start'=> '<p>',
        'navigation_item_text_wrapper_end'=> '</p>',
        'navigation_item_ending_wrapper_start'=> '',
        'navigation_item_ending_wrapper_end'=> '',
        'navigation_item_icon_wrapper_start'=> '<i class="nav-icon">',
        'navigation_item_icon_wrapper_end'=> '</i>',

        'navigation_sub_menu_wrapper_start'=> '<ul class="nav nav-treeview">', //submenu binder like <ul>
        'navigation_sub_menu_wrapper_end'=> '</ul>',  // submenu binder like </ul>
        //'navigation_item_wrapper_in_sub_menu_start'=> '<li>',
        //'navigation_item_wrapper_in_sub_menu_end'=> '</li>',

        'navigation_item_icon_position'=> 'text-left',      // top-left / top-right / bottom-left / bottom-right / text-left / text-right / full-right / full-left

        'navigation_item_link_class'=> 'nav-link',
        'navigation_item_link_active_class'=> 'active',
        'navigation_item_active_class_on_anchor_tag'=> true,   // true/false
        'navigation_item_no_link_text'=> '',                // either # or javascript:;

        'mega_menu_wrapper_start'=>'<div class="megamenu-container">',
        'mega_menu_wrapper_end'=>'</div>',
        'mega_menu_section_wrapper_start'=>'<div class="megamenu-section">',
        'mega_menu_section_wrapper_end'=>'</div>'
        ],
    ],
N:B: Following keys are required. Others are optional
'navigation_wrapper_start'=> '',
'navigation_item_wrapper_start'=> '',

To create new menu template just copy the default_nav section and rename it. Change the tags, classes as you want. Don't change the key name. It will break all of your menu.

Role Managements

The Role Managements where you can create your own role and give the permission and edit permission. But you have to make sure that your route should be inside routes/groups/permission.php (for api routes/groups/permission_api.php) routes or your route must use permission middleware. You have to make sure another thing to give permission. Your route need to add inside config/routepermission.php (for api config/routeapipermission.php).

Example: You just create a resource route for your articles inside routes/groups/permission.php.

Route::resource('articles','ArticlesController');
'configurable_routes' => [
        'Module_Name' => [
            'articles' => [
                'reader_access' => [
                    'articles.index',
                    'articles.show'
                ],
                'creation_access' => [
                    'articles.create',
                    'articles.store'
                ],
                'modification_access' => [
                    'articles.edit',
                    'articles.update',
                ],
                'deletation_access' => [
                    'articles.destroy',
                ]
            ],
        ],
    ],

Here under configurable_routes define module name > under module define task name > under task name define access name that you want to display into permission list and under access name define routes accroding to your access name. Here in reader_access section we define list of articles and single article page route. And in creation_access we define the creation form and save article route.

N.B: After finishing the configuration edit you permission from role managements. Otherwise you cannot access the rotues.