If you extended that controller, you should split your extended controller and
extend the corresponding classes in SonataAdminBundle\Action\
.
If you need to style headers prefer to use CSS classes and not in the html DOM.
In this case please use header_class
option.
Admin classes can now have multiple parents, when registering the service you should pass a field name:
<service id="sonata.admin.playlist" class="App\Admin\PlaylistAdmin">
<!-- ... -->
<call method="addChild">
<argument type="service" id="sonata.admin.video" />
<argument>playlist</argument>
</call>
</service>
Overwriting $parentAssociationMapping
is discouraged.
Deprecated calling of AbstractAdmin::addChild
without second argument.
The AbstractAdmin::$templates
attribute and the methods getTemplate()
and
getTemplates()
are deprecated. Please use the new TemplateRegistry services
instead. One per admin is generated and available through the admin code +
.template_registry
(for example, app.admin.news
uses app.admin.news.template_registry
).
The Pool::$templates
attribute and the methods getTemplate()
, getTemplates()
and setTemplates()
are deprecated. Please use the TemplateRegistry service
sonata.admin.global_template_registry
instead.
The Twig function get_admin_pool_template()
is deprecated. Please use
get_global_template()
instead.
The AbstractAdmin::$persistFilters
is deprecated and should not be used anymore.
The problem was that it was not easy to change the way filters are persisted.
Instead of a simple boolean var (whether to persist or not filters) you can now inject a service,
that will be responsible for doing the job (see FilterPersisterInterface
).
An implementation was added, which falls back to the previous behavior : SessionFilterPersister
.
This is not allowed anymore and will throw a 404 error in the future.
The SonataAdminExtension::output()
method is deprecated and should not be
used anymore.
The AdminVoter::setRequest
is deprecated and should not be used anymore.
This method was inconsistent with the structure of AbstractAdmin::$subClasses
,
which is supposed to contain a hash that associates aliases with FQCNs. Use AbstractAdmin::setSubClasses
instead.
The feature provided by this class was replaced with something much more simple, and you should not rely on it anymore,
as well as on the sonata.admin.menu.matcher.voter.children
service.
Call CRUDController::renderWithExtraParams()
instead.
The AbstractAdmin::baseCodeRoute
property is no longer supported.
Please use the AbstractAdmin::getBaseCodeRoute()
method instead.
The AbstractAdmin::setBaseCodeRoute()
method is no longer supported.
There is no replacement for this method.
You can still use the AbstractAdmin::setCode()
method to set the code
of an admin.
The ModelChoiceList
class is no longer supported. Please use the ModelChoiceLoader
class instead.
The ModelChoiceList
is usually used on the choice_list
option of a FormBuilder
. The ModelChoiceLoader
class must be replaced on the
choice_loader
option.
Starting with version 4.0, SonataAdminBundle will no longer register annotations with JMSDiExtraBundle automatically. Please add the following to your config.yml to register the annotations yourself:
jms_di_extra:
annotation_patterns:
- JMS\DiExtraBundle\Annotation
- Sonata\AdminBundle\Annotation
The sonata.admin.exporter
is deprecated in favor of the sonata.exporter.exporter
service.
To make this service available, you have to install sonata-project.exporter
^1.7
and enable the bundle as described in the documentation.
When instantiating a ModelsToArrayTransformer object, please use the 2 parameter signature ($modelManager, $class).
Please use Pager::getFirstIndex()
and Pager::getLastIndex()
instead!
Passing no 3rd argument to Menu\Provider\GroupMenuProvider
is deprecated.
Pass Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface
as 3rd argument.
The $translator
property and the corresponding methods (setTranslator
, getTranslator
, trans
and transChoice
) in AbstractAdmin
are deprecated.
Please use CRUDController::trans
or twig templates instead.
The $container
property in Twig/GlobalVariables
is deprecated.
The Sonata\AdminBundle\Form\Type\ModelTypeList
class is now deprecated.
Use Sonata\AdminBundle\Form\Type\ModelListType
instead.
All files under the Tests
directory are now correctly handled as internal test classes.
You can't extend them anymore, because they are only loaded when running internal tests.
More information can be found in the composer docs.
The $context
argument is deprecated and will be removed.
Instead of relying on it (and using a switch
statement),
rely on an abstraction, and inject different implementations of this abstraction in different actions.
Here is an example.
Since AbstractAdmin::configureBatchActions
is present, you should not override AbstractAdmin::getBatchActions
.
This method will be final in 4.0.
Now AbstractAdmin::getSubject()
return null
or object
of subject entity. Previously,
AbstractAdmin::getSubject()
may return false
if entity identifier not match regexp /^[0-9A-Fa-f\-]+$/
.
The Admin
class is deprecated. Use AbstractAdmin
instead.
The AdminExtension
class is deprecated. Use AbstractAdminExtension
instead.
The Twig extension method that fallback to a default template when the specified one does not exist. You can no longer rely on that and should always specify templates that exist.
buildBreacrumbs
is deprecated, and no replacement is given, it will become an internal method.getBreadcrumbs
is deprecated in favor of the homonym method of thesonata.admin.breadcrumbs_builder
service.- The breadcrumbs builder accessors are deprecated,
the
sonata.admin.breadcrumbs_builder
service should be used directly instead.