在我的一个实体中,我得到了一个 数组 属性。我认为 Sonata Admin Bundle 可以处理它,但它似乎需要一些注意。

我很确定 SONATA_TYPE_COLLECTION 字段类型可以处理,但我没有找到有关如何在 configureFormFields() 中配置字段的任何线索

有谁知道如何配置它?

谢谢

最佳答案

我给你一个我用过的例子:
实体:

 /**
 * @ORM\Column(type="array", nullable=true)
 */
private $tablaXY = [];

使用 Sonata\AdminBundle\Form\Type\CollectionType;
->add('tablaXY',CollectionType::class, [
                    'required' => false,
                    'by_reference' => false, // Use this because of reasons
                    'allow_add' => true, // True if you want allow adding new entries to the collection
                    'allow_delete' => true, // True if you want to allow deleting entries
                    'prototype' => true, // True if you want to use a custom form type
                    'entry_type' => TablaType::class, // Form type for the Entity that is being attached to the object
                ],
                [
                    'edit' => 'inline',
                    'inline' => 'table',
                    'sortable' => 'position',
                ]
            )

形式:
class TablaType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('ejeX',  TextType::class,['label' => 'Eje X (texto)',
            'required' => true,'attr' => array('class' => 'form-control'),])
            ->add('ejeY', NumberType::class,['label' => 'Eje Y (Número)',
            'required' => true])
        ;
    }
}

关于symfony - 在 Sonata Admin Bundle 中以编辑形式处理字符串数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25819697/

10-11 13:41