【问题标题】:how to add multipe ClassAdmin for one entity in symfony sonata bundle如何在 symfony sonata bundle 中为一个实体添加多个 Class Admin
【发布时间】:2017-05-06 09:46:41
【问题描述】:

我有一个管理类名称 VenteAdmin.php 和实体 Vente

class VentesAdmin extends AbstractAdmin
{
    protected function configureFormFields(FormMapper $formMapper)
    {
        // ... 
    }

    protected function configureDatagridFilters(DatagridMapper $datagridMapper)
    {

    }

    protected function configureListFields(ListMapper $listMapper)
    {

    }

    protected function configureShowFields(ShowMapper $showMapper)
    {

    }
}

这是我的services.yml

services:
    admin.facture:
        class: AppBundle\Admin\VentesAdmin
        arguments: [~, AppBundle\Entity\Ventes, ~]
        tags:
            - { name: sonata.admin, manager_type: orm, group: Ventes, label: Facture, icon: "<i class=\"fa fa-file-text\"></i>" }

我想通过同一实体 Ventes 添加另一个管理类名称 DevisAdmin.php,但使用其他 listFields、showFields 等。

我该怎么做?

【问题讨论】:

    标签: php symfony sonata-admin sonata


    【解决方案1】:

    只需确保定义不同的服务 ID,指向具有相同实体的新管理类:

    services:
        admin.devis:
            class: AppBundle\Admin\DevisAdmin
            arguments: [~, AppBundle\Entity\Ventes, ~]
            tags:
                - { name: sonata.admin, manager_type: orm, group: Devis, label: Devis, icon: "<i class=\"fa fa-file-text\"></i>" }
    

    【讨论】:

    • 正在工作,但 DevisAdmin 和 VentesAdmin 制作相同的 ShowFields 和 ListFields 是个问题,我如何定义 devisAdmin 和 VentesAdmin 之间不同的 ShowFields 和 List 字段??
    • 我不能很好地理解你的问题,但是如果你有不同的管理类,那么你有不同的 ShowFields 和 ListFields 方法。
    • 我在同一个实体中有不同的管理类,当我想为不同的管理类生成不同的 ShowFields 和 ListFields 方法时,我遇到了问题
    • 什么问题?请用您的问题更新您的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2012-07-05
    • 1970-01-01
    • 2015-06-30
    • 2014-03-09
    • 2014-07-22
    相关资源
    最近更新 更多