Удалить дефолтный блок sonata.admin.block.admin_list у SonataAdminBundle
При использовании SonataAdminBundle и SonataBlockBundle захотелось удалить дефолтный блок.
Толку от него мало, он просто дублирует функционал бокового меню на дашборде.
При установке SonataBlockBundle, если мы просто напишем у конфигурации:
sonata_block:
default_contexts: [sonata_page_bundle]
blocks: []
(в будущем будем добавлять свои блоки, но для начала просто ставим пустой массив), то отловим ошибку.
An exception has been thrown during the rendering of a template ("The block type "sonata.admin.block.admin_list" does not exist") in SonataAdminBundle:Core:dashboard.html.twig at line 35.
Сначала может показаться, что необходимо сконфигурировать блок sonata.admin.block.admin_list (тот, который, собственно, и отображается на дашборде).
Но если мы хотим просто убрать его, то, как оказалось, нужно просто сконфигурировать выводимые блоки уже у SonataAdminBundle. Получим что-то вроде:
sonata_admin:
dashboard:
blocks: []
sonata_block:
default_contexts: [sonata_page_bundle]
blocks: []
Получаем пустой дашборд и понимание, как управлять блоками. Чтобы добавить блок, его нужно конфигурировать так:
sonata_block:
default_contexts: [sonata_page_bundle]
blocks:
service_id:
sonata_admin:
dashboard:
blocks:
-
position: left
type: service_id
где service_id - id вашего блок-сервиса. Странно, конечно, что нужно 2 раза конфигурировать блок, но первый раз (у sonata_block) вы конфигурируете сам блок, а в sonata_admin - его отображение на дашборде.