lag/adminbundle

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

Installs: 5 817

Dependents: 2

Suggesters: 0

Security: 0

Stars: 9

Watchers: 3

Forks: 1

Open Issues: 22

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

TODO

  • validation groups
  • serialization
  • set nullable resource arrays to add difference between empty set array and not set array
  • check validation php attributes of metadata
  • batch actions
  • dynamic resource/operation request parameters
  • check extension parameters useful
  • add sf routing params to resource
  • remove load method from the registry

AdminBundle

The AdminBundle helps you to create flexible and robust administration application.

It provides PHP attributes or yaml configuration to build views to show, create; update and delete resources. It comes with a native Doctrine ORM integration, and can also be used with any architecture.

The AdminBundle is highly customizable using configuration or with events to allow you tu build dynamic administration interfaces.

Features

  • Easy to use PHP attributes or yaml configuration
  • Highly customizable
  • Doctrine ORM integration
  • Views with pagination, sorting and filtering
  • Dynamic menus
  • Bootstrap 5 integration

Install the Bundle

composer require lag/adminbundle

If you do not use Symfony Flex, follow those extra steps.

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)