cedriclombardot/admingenerator-user-bundle
Install Dependencies
composer require cedriclombardot/admingenerator-user-bundle
composer require symfony2admingenerator/generator-bundle
composer require friendsofsymfony/user-bundle
Enable Bundles in config/bundles.php:
return [
// ...
CedricLombardot\AdmingeneratorUserBundle\CedricLombardotAdmingeneratorUserBundle::class => ['all' => true],
Symfony2\AdmingeneratorBundle\GeneratorBundle::class => ['all' => true],
FOS\UserBundle\FOSUserBundle::class => ['all' => true],
];
Configure FOSUserBundle (if not already done):
# config/packages/fos_user.yaml
fos_user:
db_driver: orm
firewall_name: main
user_class: App\Entity\User
Generate a User Admin via CLI:
php bin/console generate:admin --entity=App\Entity\User --generator=admingenerator --force
Configure Base Layout in config/packages/cedric_lombardot_admingenerator_user.yaml:
cedric_lombardot_admingenerator_user:
base_layout: 'admin_base.html.twig'
assets:
css: ['bundles/admingenerator/css/admin.css']
js: ['bundles/admingenerator/js/admin.js']
Create a Base Layout at templates/admin/base.html.twig:
{% extends 'fos_user_security/login.html.twig' %}
{% block body %}
{% block admin_content %}{% endblock %}
{% endblock %}
Generate a CRUD interface for User entity with FOSUserBundle integration:
php bin/console generate:admin --entity=App\Entity\User --generator=admingenerator --force
This auto-generates a user management panel with FOSUserBundle fields (e.g., username, email, roles).
FOSUserBundle + AdminGenerator Sync
User entity with custom fields (e.g., phone, address) and regenerate the admin:
php bin/console generate:admin --entity=App\Entity\User --generator=admingenerator --force
plainPassword, enabled) to the admin form.Custom Field Handling
config/packages/admingenerator.yaml:
admingenerator:
generation_parameters:
App\Entity\User:
fields:
plainPassword: { type: password }
roles: { type: entity, class: App\Entity\Role }
Twig Template Overrides
admin_base.html.twig:
{% extends 'admin_base.html.twig' %}
{% block admin_content %}
{{ include('admingenerator_user::user/edit.html.twig') }}
{% endblock %}
Action Hooks
config/packages/admingenerator.yaml:
admingenerator:
generation_parameters:
App\Entity\User:
actions:
prePersist: ['App\EventListener\UserPrePersistListener']
postRemove: ['App\EventListener\UserPostRemoveListener']
Authentication Integration
# config/packages/security.yaml
firewalls:
admin:
pattern: ^/admin
form_login:
provider: fos_userbundle
check_path: /login_check
login_path: /login
admingenerator:
generation_parameters:
App\Entity\User:
bulk_actions: ['delete', 'enable', 'disable']
fields:
group_account:
fields: [username, email, enabled]
group_security:
fields: [roles, plainPassword]
UniqueEntity) in your User entity.Deprecated Bundle
symfony/form, twig) manually.YAML Configuration Overrides
admingenerator.yaml overwrites defaults but may break if malformed.php bin/console debug:config admingenerator to validate.FOSUserBundle Mismatch
User with username, email).User entity and regenerate:
php bin/console make:entity --regenerate App\Entity\User
Asset Paths
bundles/admingenerator/) may fail in custom setups.base_layout config or use Symfony’s asset component.Twig Template Caching
php bin/console cache:clear
app/config/generated/admingenerator/ for auto-generated files.config/packages/dev/debug.yaml:
framework:
router:
debug: true
php bin/console debug:config cedric_lombardot_admingenerator_user
Custom Generators
CedricLombardot\AdmingeneratorUserBundle\Generator\Generator to add logic (e.g., auto-assign roles).Event Listeners
admingenerator.generate events to modify generation dynamically:
// src/EventListener/AdminGeneratorListener.php
public function onGenerate(GenerateEvent $event) {
$event->setParameter('custom_field', 'value');
}
Database Migrations
make:migration after extending User entity:
php bin/console make:migration
php bin/console doctrine:migrations:migrate
Laravel Adaptation (Hypothetical)
spatie/laravel-symfony-support).laravel-twig-bridge.How can I help you explore Laravel packages today?