Sonata Admin Media Picker

问题描述 投票:1回答:1

我正在使用Sonata Admin作为我的后端,并遵循this指南,我能够在我的实体和媒体对象之间建立关系。

这是关系:

/**
 * @var \Application\Sonata\MediaBundle\Entity\Media
 *
 * @ORM\ManyToOne(targetEntity="\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist", "remove"})
 * @ORM\JoinColumn(name="image_id", referencedColumnName="id", nullable=false)
 */
protected $image;

这是管理员类:

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('name')
        ->add('family')
        ->add('image', MediaType::class, array(
            'provider'  => 'sonata.media.provider.image',
            'context'   => 'default',
            'required'  => false,
        ))
    ;
}

这些是我的设置:

# Twig Configuration
twig:
    debug: '%kernel.debug%'
    strict_variables: '%kernel.debug%'

    # Sonata form themes
    form_themes:
        - 'SonataCoreBundle:Form:colorpicker.html.twig'
        - 'SonataMediaBundle:Form:media_widgets.html.twig'

结果如下:

enter image description here

我可以成功插入一个新图像并将其保存在我的实体中,但我无法选择已存在的实体,我需要在模态窗口中获取媒体选择器的哪些设置?

php symfony sonata-admin sonata-media-bundle
1个回答
1
投票

要选择任何现有媒体,您可以使用sonata_type_model_list

这将显示一个包含模型的“添加/列表”选项的字段,在您的情况下,它将显示媒体,您可以从现有媒体中进行选择

© www.soinside.com 2019 - 2024. All rights reserved.