我安装了sonata管理包,其中包含来自同一供应商的通知包。但是,我不想在管理面板上显示通知包。
我知道,为了做到这一点,我可以使用:
show_in_dashboard="false"
我已将它放在供应商文件夹中,但它可以工作,但我想将它放在config.yml上,这样就不会在服务器或版本更新之间造成问题。
关于如何做到这一点的任何想法?
对于谁可能关心禁用演示文稿的正常语法是:
<tag
name="sonata.admin"
manager_type="orm"
group="sonata_notification"
label="notifications"
label_translator_strategy="sonata.admin.label.strategy.underscore"
show_in_dashboard="false"
/>
或yml:
tags:
- { name: sonata.admin, manager_type: orm, group: "Some Group", label: "", show_in_dashboard: false }
由于
答案 0 :(得分:4)
我解决此问题的方法是在sonata_admin配置中明确指定要在仪表板中显示哪些管理服务。
sonata_admin:
dashboard:
blocks:
# display a dashboard block
- { position: left, type: sonata.admin.block.admin_list }
groups:
some_group:
label: "Some group"
items:
- some_admin_service
- some_other_admin_Service
some_other_group:
label: "Some other group"
items:
...
可以在文档http://sonata-project.org/bundles/admin/2-1/doc/reference/dashboard.html
中找到更多示例答案 1 :(得分:1)
您可以使用services.yml覆盖服务定义(在您的情况下)。
1)创建文件(如果不存在):app / config / services.yml
2)在config.yml的“进口”部分添加新来源:
imports:
- { resource: parameters.yml }
- { resource: services.yml }
3)使用
添加服务定义show_in_dashboard: false
它将覆盖供应商的默认值