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).
- In your terminal:
$ composer require backpack/crud
- Add this to your config/app.php, under "providers":
Backpack\CRUD\CrudServiceProvider::class,
- 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
- Define an 'uploads' disk. In your config/filesystems.php add this disk:
'uploads' => [
'driver' => 'local',
'root' => public_path('uploads'),
],
-
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).
-
[Optional] You can now the file manager to the menu, in
resources/views/vendor/backpack/base/inc/sidebar.blade.php
ormenu.blade.php
:
<li><a href="{{ url('admin/elfinder') }}"><i class="fa fa-files-o"></i> <span>File manager</span></a></li>
Check out the documentation at https://laravelbackpack.com
In short:
-
Make your model use the CrudTrait.
-
Create a controller that extends CrudController.
-
Create a new resource route.
-
(optional) Define your validation rules in a Request files.
CRUD supports tracking and restoring Model change Revisions with the help of VentureCraft/revisionable.
To enable revisions on your Model do the following:
- Run:
$ php artisan migrate --path=vendor/venturecraft/revisionable/src/migrations #run revisionable migrations
- 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();
}
}
- 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.
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
- Cristian Tabacitu - architect, designer, manager, main coder, PR guy, customer service guy & chief honcho
- Cristian Tone - architecture improvements
- Marius Constantin - bug fixing & improvements
- Federico Liva - bug fixing
- All Contributors
Special thanks go to:
- John Skoumbourdis - Grocery CRUD for CodeIgniter was the obvious inspiration for this package.
- Jaroen Noten - creator of AdminLTE
The MIT License (MIT). Please see License File for more information.