Sonata Admin 仅显示站点栏菜单中的最后一个管理项,但全部显示在仪表板中
Sonata Admin shows only last admin item in sitebar menu but all in dashboard
我有一个带有 SonataAdminBundle 的 symfony 应用程序。在 2.3
版本中,一切都完美无缺。更新到版本 3.1
时,所有管理员仍显示在仪表板中,但只有最后一个组显示在站点栏菜单中。我不知道这是一个错误,还是我错过了一个新设置。不幸的是,3.1
的文档还不是最新的。
我使用两个管理列表将它们分成两列。这是管理配置中包含组和项目的片段:
dashboard:
blocks:
- { position: left, type: sonata.admin.block.admin_list, settings: { groups: [product, event] } }
- { position: right, type: sonata.admin.block.admin_list, settings: { groups: [system] } }
groups:
product:
label: group.product
label_catalogue: MyAdminBundle
icon: '<i class="fa fa-shopping-cart"></i>'
items:
- my.admin.product
- my.admin.product_group
- my.admin.product_image
- my.admin.product_media_file
- my.admin.attribute
...
仪表板中显示了包含所有 5 个管理员的漏洞组。在侧边栏菜单中,产品组中仅显示 my.admin.attribute
管理员。这适用于所有群体。它总是只显示最后一个元素。
有人知道这是什么原因吗?
该项目目前使用 symfony/symfony: 2.8.6
和 sonata-project/admin-bundle: 3.1.0
。
问题是 SonataAdminBundle 使用管理服务的 label
作为标识符。我所有的服务都有一个名为 "title" 的标签,因为无论如何这只是在管理员的翻译文件中翻译的。
my.admin.product:
class: My\Bundle\AdminBundle\Admin\ProductAdmin
tags:
- { name: sonata.admin, manager_type: orm, label: title }
arguments:
- ~
- My\Bundle\AdminBundle\Entity\Product
- ~
所以解决方案是简单地将标签更改为唯一的标签,例如 product_title
,所有管理员都会再次显示在侧边栏中。
您可以在 this ticket 中查看讨论和发现。这也是他们要将标识符更改为真正独特的东西的门票。
我有一个带有 SonataAdminBundle 的 symfony 应用程序。在 2.3
版本中,一切都完美无缺。更新到版本 3.1
时,所有管理员仍显示在仪表板中,但只有最后一个组显示在站点栏菜单中。我不知道这是一个错误,还是我错过了一个新设置。不幸的是,3.1
的文档还不是最新的。
我使用两个管理列表将它们分成两列。这是管理配置中包含组和项目的片段:
dashboard:
blocks:
- { position: left, type: sonata.admin.block.admin_list, settings: { groups: [product, event] } }
- { position: right, type: sonata.admin.block.admin_list, settings: { groups: [system] } }
groups:
product:
label: group.product
label_catalogue: MyAdminBundle
icon: '<i class="fa fa-shopping-cart"></i>'
items:
- my.admin.product
- my.admin.product_group
- my.admin.product_image
- my.admin.product_media_file
- my.admin.attribute
...
仪表板中显示了包含所有 5 个管理员的漏洞组。在侧边栏菜单中,产品组中仅显示 my.admin.attribute
管理员。这适用于所有群体。它总是只显示最后一个元素。
有人知道这是什么原因吗?
该项目目前使用 symfony/symfony: 2.8.6
和 sonata-project/admin-bundle: 3.1.0
。
问题是 SonataAdminBundle 使用管理服务的 label
作为标识符。我所有的服务都有一个名为 "title" 的标签,因为无论如何这只是在管理员的翻译文件中翻译的。
my.admin.product:
class: My\Bundle\AdminBundle\Admin\ProductAdmin
tags:
- { name: sonata.admin, manager_type: orm, label: title }
arguments:
- ~
- My\Bundle\AdminBundle\Entity\Product
- ~
所以解决方案是简单地将标签更改为唯一的标签,例如 product_title
,所有管理员都会再次显示在侧边栏中。
您可以在 this ticket 中查看讨论和发现。这也是他们要将标识符更改为真正独特的东西的门票。