lag/adminbundle

Generic admin bundle for Symfony2 from L'arrière-guichet

Installs: 5 817

Dependents: 2

Suggesters: 0

Security: 0

Stars: 7

Watchers: 3

Forks: 1

Open Issues: 30

Type:symfony-bundle

v1.1-RC2 2020-10-22 19:34 UTC

README

Latest Stable Version Build Status Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status SensioLabsInsight Total Downloads

AdminBundle

The AdminBundle let you create a flexible and robust backoffice on any Symfony application, with simple yaml configuration.

It eases the handling of CRUD views by configuring Admin objects on top of your Doctrine entities. Each Admin has one or many Action. By default, the four actions of a classical CRUD are available (create, edit, delete and list) and the creation of custom actions is easy.

If you require more flexibility, you can easily override any part of the process (data providers, controllers, views...). The purpose of the bundle is to provide an Admin interface with default configuration, and allows the user to add his specific need where he wants, and allow to implement any specific needs without any hassles.

Features

  • Dynamic CRUD for your entities (no code generation)
  • Simple yaml configuration
  • List with pagination, sorting and filters
  • Menus integrations
  • Fully customizable (use your own controllers, data providers or templates)
  • Bootstrap 4 integration (can be disabled or override)

Installation

Step 1: Install the Bundle

Open a command console, execute the following command in your project directory to install the latest stable version of the bundle:

composer require lag/adminbundle

If you do not use flex, read the extra steps to install the bundle

Step 2: Configure the routing

Import the routing configuration to have the admin generated routes :

    # config/routes.yaml        
    lag_admin:
        resource: '@LAGAdminBundle/Resources/config/routing/routing.yaml'
        prefix: /admin

Step 3 : Configure an entity

# config/packages/lag_admin.yaml
lag_admin:
    application:
        title: My Little TaunTaun application       
# config/admin/resources/article.yaml
article:
    entity: App\Entity\Article 
    actions:
        create: ~
        edit: ~
        list: ~
        delete: ~

As new routes are dynamically created, the cache clearing is required (symfony cache:clear)

Now you could visit http://127.0.0.1:8000/admin/article/list to see a list of your entities.

Yan can visit http://127.0.0.1:8000/app_dev.php/admin/ to see the homepage of your admin interface

Documentation

  1. How to use
  2. Customization
    • a. Custom actions
    • b. Custom render
    • c. Custom data
    • d. Custom routes and urls
  3. Reference
    • a. Application configuration
    • b. Admin configuration
  4. FAQ
  5. Configuration reference

Testing

To run the admin test suite, run the following :

make tests

Road map

v1.1

  • Add dynamic id column (instead of required "id" column) to improve generic and handle multiple ids columns

v1.0

  • Add more testing

History

Version 0.4 :

  • Dynamic CRUD for your entities (no code generation)
  • Simple configuration in yml (look alike symfony1 generators.yml syntax)
  • List with pagination, sorting and batch remove (filters are coming)
  • Full translated
  • Main and left menu integration
  • Fully customizable (use your own controllers, data providers or templates)
  • Bootstrap 3 integration (can be disabled or override)