Aquí veremos cómo crear una segunda interfaz mientras la entidad ya está en uso en una interfaz CRUD.
El problema con las interfaces generadas automáticamente es que utilizan el nombre de la entidad para construir las rutas.
Si configuramos una segunda interfaz con una entidad que ya se está utilizando, terminaremos con la misma ruta que la primera.
Para abordar este problema, utilizaremos estos dos parámetros en nuestra clase de administración para sobrescribir los valores predeterminados.
Supongamos que estamos utilizando la entidad "modelo", podríamos usar el término "modelo2" (o toto, lo que realmente quieras)
protected $baseRouteName = 'admin_vendor_app_modele2';
protected $baseRoutePattern = 'modele2';
No olvides limpiar la caché adecuadamente para que las nuevas rutas se tomen en cuenta.
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.