7

我想将奏鸣曲媒体包用于我的包中的媒体。

我有一个实体应该有一个画廊。安装奏鸣曲媒体包并生成 easy:extends 后,有 3 个不同的实体:

  • 媒体.php
  • 图库.php
  • GalleryHasMedia.php。

如何将这些实体链接到我自己的实体以进行画廊实施???

4

2 回答 2

4

您可以一对一链接。例如,我的实现:

配置.yml:

contexts:
        product:
            providers:
                - sonata.media.provider.image

            formats:
                big:   { width: 1680 , quality: 100}

图库.php:

private $product;

图库.orm.xml:

<one-to-one field="product" target-entity="Alteza\ProductBundle\Entity\Product" inversed-by="gallery">
        <join-column name="product_id" referenced-column-name="id" />
    </one-to-one>

产品.php:

/**
 * @ORM\OneToOne(targetEntity="\Application\Sonata\MediaBundle\Entity\Gallery", mappedBy="product", cascade={"all"})
 */
private $gallery;

产品管理员.php:

->add('gallery', 'sonata_type_model_list', array('required' => false), array('link_parameters'   => array('context' => 'product')))
于 2013-09-05T07:10:15.873 回答
3

以下是有关实现的文档:

http://sonata-project.org/blog/2013/10/11/mediabundle-mediatype-improved

于 2014-05-06T12:29:05.490 回答