Symfony SonataAdminBundle -在同一个管理模块中为list/create使用不同的实体


Symfony SonataAdminBundle - using a different entity for list/create in the same admin module

我是相对较新的奏鸣曲,我需要实现一个新的管理模块与以下类似的结构:假设我有一个典型的购物车场景,其中我有一个Order实体和一个OrderItem(一对多关系)。

在List视图中,它应该显示所有的订单项,但是在Create操作中,它将允许创建一个order实体(带有用于创建订单项的嵌入式表单)。

我需要创建2个管理模块吗?如果是,如何更改"创建"按钮指向其他管理员?

谢谢你的帮助。

创建实体Order和OrderItem。然后需要为每个类创建一个特定的Admin Class。当您构建Order表单映射器时,您需要嵌入订单项集合,类似这样的内容应该可以完成这项工作:

->with('OrderItem')
                ->add('orderItem', 'sonata_type_collection', array(
                    'label' => 'Item',
                    'required' => true,
                    'allow_add' => true,
                    'allow_delete' => true,
                    'by_reference' => false,
                ),array(
                    'edit' => 'inline',
                    'inline' => 'table',
                    'sortable' => 'position',
        ))

我不明白,为什么你要改变创建按钮