AdminCrud
, (*1)
AdminCrud is Laravel 5 package., (*2)
Installation
Using composer, (*3)
$ composer require markofly/admincrud "v0.0.3-alpha"
Add the service provider to config/app.php, (*4)
'providers' => [
...
Markofly\AdminCrud\AdminCrudServiceProvider::class,
],
Publish config, view and form files, (*5)
$ php artisan vendor:publish --provider="Markofly\AdminCrud\AdminCrudServiceProvider"
Usage
Set up Admin crud config
AdminCrud config file is located at config/markofly/admincrud.php, (*6)
Default config looks like this:, (*7)
<?php
return [
'path' => base_path('config/markofly/forms/'),
];
Default form config files are located at config/markofly/forms/, (*8)
<?php
return [
'model' => App\User::class, // Model class for forms
'route_name' => 'users', // Resource route prefix
'per_page' => 5, // Per page number for list view
'create_form' => [...], // Create form fields
'edit_form' => [...], // Edit form fields
'list' => [...], // List view fields
];
[
'label' => 'Password', // Label for fields
'type' => 'password', // Field type Currently available: text, password, textarea, checkbox, checkboxes, radio, select
'multiple_data' => [ // Used only for radio, checkboxes, select
[
'label' => 'First label',
'value' => 'first',
],
],
'name' => 'password', // Field name
'database_field' => 'password', // false for non database field; Database field name
'validation_rules' => 'required|min:6|confirmed', //Laravel validation rules
'storing_method' => function($value) { return bcrypt($value); }, // null for storing same value; function for storing custom value
],
[
'label' => 'Full name', // Label for fields
'type' => 'text', // Field type Currently available: text, password, textarea, checkbox, checkboxes, radio, select
'multiple_data' => [ // Used only for radio, checkboxes, select
[
'label' => 'First label',
'value' => 'first',
],
],
'name' => 'name', // Field name
'database_field' => 'name', // false for non database field; Database field name
'validation_rules' => 'required', //Laravel validation rules
'storing_method' => null, // null for storing same value; function for storing custom value
'editable' => true // Is field disabled or not; Default value is true
],
List view fields
[
'label' => 'Full name', // Field label
'database_field' => 'name', // Database field name
],
$ php artisan make:controller UsersController
Basic AdminCrud controller should look something like this:, (*9)
<?php
namespace App\Http\Controllers;
use Markofly\AdminCrud\AdminCrud;
use Markofly\AdminCrud\AdminCrudTrait;
class UsersController extends Controller
{
use AdminCrudTrait;
public function initializeAdminCrud()
{
$this->adminCrud = new AdminCrud('users');
$this->pageTitle = 'Users';
}
}
Register new routes for controller
Route::resource('users', 'UsersController');
Change default layout file
Default view file is located at resources/views/vendor/AdminCrud/default.blade.php, (*10)
License
The MIT License (MIT). Please see License File for more information., (*11)