Instalación
composer require partitech/sonata-extra
Guardar el paquete en bundles.php
Partitech\SonataExtra\PartitechSonataExtraBundle::class => ['all' => true],
Cargar los recursos en la página frontal de Sonata
{% block sonata_page_stylesheets %}
<link rel="stylesheet" href="{{ asset('bundles/sonatapage/frontend.css') }}" media="all">
<link rel="stylesheet" href="{{ asset('bundles/partitechsonataextra/assets/styles/admin.css') }}" media="all">
{% endblock %}
{% block sonata_page_javascripts %}
<script src="{{ asset('bundles/partitechsonataextra/assets/admin.js') }}"></script>
{% endblock %}
Declarar los recursos de la administración
sonata_admin:
assets:
extra_javascripts:
- js/runroom_sortable_init.js
- js/jquery-ui.min.js
- js/menu-admin.js
- bundles/fosckeditor/ckeditor.js
- bundles/partitechsonataextra/assets/admin.js
extra_stylesheets:
- bundles/sonatatranslation/css/sonata-translation.css
- bundles/partitechsonataextra/assets/styles/admin.css
- css/admin.css
- build/admin.css
Instalar los recursos públicos
php bin/console sonata:extra:install-gutenberg
php bin/console ckeditor:install --tag=4.19.0
php bin/console assets:install
Inicializar Sonata Page y sus rutas multilingües
php bin/console sonata:page:create-site
php bin/console sonata:page:update-core-routes
php bin/console sonata:extra:page-fix-route
php bin/console sonata:page:create-snapshots
Las traducciones pueden ser reemplazadas en su proyecto utilizando la jerarquía de traducción de Symfony de esta manera:
mkdir translations
touch translations/SonataExtraBundle.fr.yaml
cat vendor/partitech/sonata-extra/translations/messages.fr.yaml > translations/SonataExtraBundle.fr.yaml
Puede redirigir al usuario al sitio y al camino relativo esperados con AuthenticationSuccessHandler danza security.yaml :
firewalls:
admin:
form_login:
success_handler: Partitech\SonataExtra\Handler\AuthenticationSuccessHandler
Adaptar el ejemplo a la versión instalada
Los ejemplos de Symfony y Sonata permanecen ligados a las versiones indicadas en el artículo. Symfony 4.x y Symfony 6.2 ya no se mantienen: para un proyecto actual, utilice una rama mantenida y la documentación que corresponda exactamente a sus dependencias.
php bin/console about
composer show symfony/framework-bundle sonata-project/admin-bundle
Antes de retomar el código, controle las firmas, los servicios, las rutas y las plantillas correspondientes. Después, agregue una prueba funcional que cubra los permisos, el código HTTP y el resultado visible.
Referencia: versiones de Symfony mantenidas.