2

我安装了来自同一供应商的通知包和奏鸣曲管理包。但是我不想在管理面板上显示通知包。

我知道,为了做到这一点,我可以使用:

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 }

谢谢

4

2 回答 2

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中找到

于 2013-06-15T12:18:02.237 回答
1

您可以使用 services.yml 覆盖服务定义(在您的情况下)。

1)创建文件(如果不存在):app/config/services.yml

2) 在“imports”部分的 config.yml 中添加新源:

imports:
- { resource: parameters.yml }
- { resource: services.yml }

3)添加服务定义

show_in_dashboard: false

它将覆盖供应商的默认值

于 2013-06-20T07:52:50.320 回答