通过Sonata Admin上传后显示附加图像

时间:2014-07-21 03:50:47

标签: php symfony sonata-admin symfony-sonata sonata-media-bundle

我有一个Product实体映射如下:

class Product
{

    use IdentifiedAutogeneratedEntityTrait;
    use BaseEntityTrait;

    ......

    /**
     * @ORM\ManyToOne(targetEntity="\Application\Sonata\MediaBundle\Entity\Media")
     * @ORM\JoinColumn(name="product_image", referencedColumnName="id")
     */
    protected $image;

   ......

    public function setImage(\Application\Sonata\MediaBundle\Entity\Media $image)
    {
        $this->image = $image;
    }
}

然后在我的管理表单中,我有这个:

protected function configureFormFields(FormMapper $form)
{
    $form
            ->add('product_name', null)
            ->add('product_description', null)
            ->add('image', 'sonata_type_admin');
}

当我添加新产品时,我可以上传图片,是的,但是我可以在页面上看到我创建产品的图片,我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为您必须使用sonata_type_model_list而不是sonata_type_admin

protected function configureFormFields(FormMapper $form)
{
    $form
            ->add('product_name', null)
            ->add('product_description', null)
            ->add('image', 'sonata_type_model_list');
}