Skip to content

Build a custom admin interface for your Eloquent models, using Laravel 5.2 or 5.3

License

Notifications You must be signed in to change notification settings

streeboga/CRUD

 
 

Repository files navigation

Backpack\CRUD

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Style CI Total Downloads Tasks Ready to be Done

Quickly build an admin interface for your Eloquent models, using Laravel 5. Erect a complete CMS at 10 minutes/model, max.

Features:

  • 33+ field types
  • 1-n relationships
  • n-n relationships
  • Table view with search, pagination, click column to sort by it
  • Reordering (nested sortable)
  • Back-end validation using Requests
  • Translatable models (multi-language) // TODO
  • Easily extend fields (customising a field type or adding a new one is as easy as creating a new view with a particular name)
  • Easily overwrite functionality (customising how the create/update/delete/reorder process works is as easy as creating a new function with the proper name in your EntityCrudCrontroller)

Subscribe to the Mailchimp list to be announced of any major features or breaking changes (once every 1-3 months).

List / table view for Backpack/CRUD

Install

  1. In your terminal:
$ composer require backpack/crud
  1. Add this to your config/app.php, under "providers":
        Backpack\CRUD\CrudServiceProvider::class,
  1. Run:
$ php artisan elfinder:publish #published elfinder assets
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="public" #publish CRUD assets
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="lang" #publish the lang files
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="config" #publish the config file
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="elfinder" #publish overwritten elFinder assets
  1. Define an 'uploads' disk. In your config/filesystems.php add this disk:
'uploads' => [
            'driver' => 'local',
            'root' => public_path('uploads'),
        ],
  1. If you haven't already, go through steps 3-5 from the Backpack\Base installation (it provides the general views for the admin panel - layout, menu, notification bubbles, etc).

  2. [Optional] You can now the file manager to the menu, in resources/views/vendor/backpack/base/inc/sidebar.blade.php or menu.blade.php:

<li><a href="{{ url('admin/elfinder') }}"><i class="fa fa-files-o"></i> <span>File manager</span></a></li>

Usage

Check out the documentation at https://laravelbackpack.com

In short:

  1. Make your model use the CrudTrait.

  2. Create a controller that extends CrudController.

  3. Create a new resource route.

  4. (optional) Define your validation rules in a Request files.

(Optional) Enable Revisions

CRUD supports tracking and restoring Model change Revisions with the help of VentureCraft/revisionable.

To enable revisions on your Model do the following:

  1. Run:
$ php artisan migrate --path=vendor/venturecraft/revisionable/src/migrations #run revisionable migrations
  1. Add the \Venturecraft\Revisionable\RevisionableTrait Trait to your Model. E.g:
namespace MyApp\Models;

class Article extends Eloquent {
    use \Backpack\CRUD\CrudTrait, \Venturecraft\Revisionable\RevisionableTrait;

    // If you are using another bootable trait the be sure to override the boot method in your model
    public static function boot()
    {
        parent::boot();
    }
}
  1. Enable access to Revisions in your CrudController with:
$this->crud->allowAccess('revisions');

Head on over to the VentureCraft/revisionable GitHub repo to see the full documentation and extra configuration options.

Screenshots

  • List view pictured above.
  • Create/update view: Create or update view for Backpack/CRUD
  • File manager (elFinder): File manager interface for Backpack/CRUD

Change log

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

Special thanks go to:

License

The MIT License (MIT). Please see License File for more information.

About

Build a custom admin interface for your Eloquent models, using Laravel 5.2 or 5.3

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 61.9%
  • CSS 19.7%
  • HTML 11.5%
  • PHP 6.8%
  • Shell 0.1%