Adds a clone action to Sonata Admin.
Adds a clone action to Sonata Admin. This allows you to add a clone button to
your list action that leads to a create form with the values of the cloned item
prefilled.
The clone action does not create the clone in the database, this happens only
when the create form is submitted.
$ composer require jorrit/sonata-clone-action-bundle
The extension is registered just like any other Sonata Admin extension.
For more information regarding extensions, see the Sonata Admin documentation.
Add the following code to services.yml to add the extension to one or more admin classes.
Replace admin1
and admin2
with the service names of your admin classes.
admin.clone.extension:
class: Jorrit\SonataCloneActionBundle\Admin\Extension\CloneAdminExtension
tags:
- { name: sonata.admin.extension, target: admin1 }
- { name: sonata.admin.extension, target: admin2 }
Add the following code to services.yml to add the extension all admin classes.
admin.clone.extension:
class: Jorrit\SonataCloneActionBundle\Admin\Extension\CloneAdminExtension
tags:
- { name: sonata.admin.extension, global: true }
Edit your admin class to add clone
to the list of actions:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
...
->add('_action', null, [
'actions' => [
'edit' => [],
'delete' => [],
'clone' => [],
]
]);
}