2lenet/easyadmin-plus-bundle
EasyAdminPlus is packaged with a generator which create the default EasyAdmin configuration file based on your Entities reflection.
:exclamation: The purpose of this generator is not to write all the configuration for you but to get rid of the tedious writing time of the settings if you've many entities.
Up to you to enrich these settings by yourself after the complete generation.
Generator tries to guess to correct type based on several reflection processes:
# config/packages/lle_easyadmin_plus.yaml
lle_easy_admin_plus:
generator:
# The level of indentation of the Yaml Dumper
dump_indentation: 4
# The level where you switch to inline YAML
dump_inline: 6
# the name of the Backend
name_backend: Back Office
# name of your custom translation domain
translation_domain:
# list of bundles whose entities will not be generated by the generator
bundles_filter:
- LleEasyAdminPlusBundle
- ...
# list of available actions by methods
methods:
list:
- new
- show
- edit
- delete
- ...
show:
- edit
- delete
edit: []
new: []
# list of icons assigned to each action
icons:
actions:
- {new: add}
- {show: search}
- {edit: edit}
- {delete: trash}
- ...
fields:
methods:
- new
- show
labels: ~
# array
sort:
#list of methods where sorting is available
methods:
- list
properties:
- { name: 'position', order: 'ASC' , edit_in_place: true}
- { name: 'id', order: 'DESC' }
# list og web assets to load in the backend pages
assets:
# JavaScript files
js:
- /bundles/cksourceckfinder/ckfinder/ckfinder.js
- ...
# CSS files
css:
- ...
All the settings are optional.
Comment
Post
Tags
php bin/console lle:easy-admin-plus:generator:generate
At first launch, the command will create the easy_admin folder, in it will be generated:
# config/packages/easy_admin/entities/app_post.yaml
easy_admin:
entities:
app_post:
class: App\Entity\Post
disabled_actions: []
list:
title: 'List post'
actions:
- { name: new, label: new, icon: add }
- { name: show, label: show, icon: search }
- { name: edit, label: edit, icon: edit }
- { name: delete, label: delete, icon: trash }
fields:
- { property: id, label: id }
- { property: title, label: title }
- { property: slug, label: slug }
- { property: summary, label: summary }
- { property: publishedAt, label: publishedAt }
- { property: author, label: author }
- { property: tags, label: tags }
sort:
- id
- DESC
show:
title: 'Fiche post'
actions:
- { name: edit, label: edit, icon: edit }
- { name: delete, label: delete, icon: trash }
fields:
- { property: id, label: id }
- { property: title, label: title }
- { property: slug, label: slug }
- { property: summary, label: summary }
- { property: content, label: content, type: raw }
- { property: publishedAt, label: publishedAt }
- { property: author, label: author }
- { property: comments, label: comments }
- { property: tags, label: tags }
edit:
title: 'Edit post'
actions: []
fields:
- { property: title, label: title }
- { property: slug, label: slug }
- { property: summary, label: summary }
- { property: content, label: content, help: 'The number of characters must be greater than 10.' }
- { property: publishedAt, label: publishedAt }
- { property: author, label: author, type: easyadmin_autocomplete }
- { property: comments, label: comments, type: easyadmin_autocomplete, type_options: { by_reference: false } }
- { property: tags, label: tags, type: easyadmin_autocomplete, help: 'The number of elements must be less than or equal to 4.' }
new:
title: 'Add post'
actions: []
fields:
- { property: title, label: title }
- { property: slug, label: slug }
- { property: summary, label: summary }
- { property: content, label: content, help: 'The number of characters must be greater than 10.' }
- { property: publishedAt, label: publishedAt }
- { property: author, label: author, type: easyadmin_autocomplete }
- { property: comments, label: comments, type: easyadmin_autocomplete, type_options: { by_reference: false } }
- { property: tags, label: tags, type: easyadmin_autocomplete, help: 'The number of elements must be less than or equal to 4.' }
php bin/console lle:easy-admin-plus:generator:entity entity_1 entity_2 ...
If the entities passed as parameters are linked to other entities, we will propose to regenerate their configuration file.
Next chapter: Chapter 3 - Translation Action
How can I help you explore Laravel packages today?