Skip to content

Commit

Permalink
Update doc
Browse files Browse the repository at this point in the history
  • Loading branch information
VincentLanglet committed May 6, 2021
1 parent b735fa7 commit d885f96
Showing 1 changed file with 23 additions and 12 deletions.
35 changes: 23 additions & 12 deletions docs/cookbook/recipe_overwrite_admin_configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,47 @@ Sometimes you might want to overwrite some Admin settings from vendors.
This recipe will explain how to achieve this operation. However, keep
in mind this operation is quite dangerous and might break code.

From the configuration file, you can add a new section named ``admin_services``
From the configuration file, you can add a new section named ``default_admin_services``
with the following templates:

.. code-block:: yaml
sonata_admin:
admin_services:
default_admin_services:
# service configuration
model_manager: sonata.admin.manager.orm
data_source: sonata.admin.data_source.orm
field_description_factory: sonata.admin.field_description_factory.orm
form_contractor: sonata.admin.builder.orm_form
show_builder: sonata.admin.builder.orm_show
list_builder: sonata.admin.builder.orm_list
datagrid_builder: sonata.admin.builder.orm_datagrid
translator: translator
configuration_pool: sonata.admin.pool
route_generator: sonata.admin.route.default_generator
validator: validator
security_handler: sonata.admin.security.handler
menu_factory: knp_menu.factory
route_builder: sonata.admin.route.path_info
label_translator_strategy: sonata.admin.label.strategy.native
pager_type: default
# templates configuration
templates:
# view templates
view:
user_block: mytemplate.twig.html
# form related theme templates => this feature need to be implemented by the Persistency layer of each Admin Bundle
form: ['MyTheme.twig.html', 'MySecondTheme.twig.html']
filter: ['MyTheme.twig.html', 'MySecondTheme.twig.html']
With these settings you will be able to change default services and templates used by the admin instances.

With these settings you will be able to change default services and templates used by the admin instance.
If you need to override the service of a specific admin, you can do it during the service declaration:

.. code-block:: yaml
# config/services.yaml
services:
admin.blog_post:
class: App\Admin\BlogPostAdmin
arguments: [~, App\Entity\BlogPost, ~]
tags:
- name: sonata.admin
manager_type: orm
label: 'Blog post'
label_translator_strategy: sonata.admin.label.strategy.native
route_builder: sonata.admin.route.path_info
pager_type: simple
# and so on

0 comments on commit d885f96

Please sign in to comment.