Sai*_*ach 2 symfony sonata-media-bundle
您好,我第一次使用 SonataMedia Bundle,但是我无法访问我的实体 Post 的链接;它给了我#“无法加载类型“sonata_media_type”:类不存在。“#这是我的代码: Config.php
sonata_media:
db_driver: doctrine_orm
default_context: default
contexts:
Post:
providers:
- sonata.media.provider.image
formats:
small: { width: 100 , quality: 70}
big: { width: 1680 , quality: 100}
**PostType:**
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('media', 'sonata_media_type', array(
'provider' => 'sonata.media.provider.image',
'context' => 'post'
));
}
**My Class Post**
class Post
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \Application\Sonata\MediaBundle\Entity\Media
* @ORM\ManyToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"})
*/
protected $media;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @param MediaInterface $media
*/
public function setMedia(MediaInterface $media)
{
$this->media = $media;
}
/**
* @return MediaInterface
*/
public function getMedia()
{
return $this->media;
}
}
Run Code Online (Sandbox Code Playgroud)
我按照此文档进行操作:[ https://sonata-project.org/blog/2013/10/11/mediabundle-mediatype-improved][1] 请如何将我的实体帖子正确链接到实体媒体? ?
你应该使用完全限定的类名MediaType::class,就像你在 v.2.8 以来的任何 Symfony 形式中所做的那样:
**PostType:**
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('media', MediaType::class, array(
'provider' => 'sonata.media.provider.image',
'context' => 'post'
));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2391 次 |
| 最近记录: |