/** * @param \Sonata\MediaBundle\Model\GalleryInterface $gallery * @param \Sonata\MediaBundle\Model\MediaInterface $media * @return void */ public function addMedia(GalleryInterface $gallery, MediaInterface $media) { $galleryHasMedia = new \Application\Sonata\MediaBundle\Entity\GalleryHasMedia(); $galleryHasMedia->setMedia($media); $galleryHasMedia->setPosition(count($gallery->getGalleryHasMedias()) + 1); $galleryHasMedia->setEnabled(true); $gallery->addGalleryHasMedias($galleryHasMedia); }
/** * @param \Sonata\MediaBundle\Model\GalleryInterface $gallery * * @return array */ private function buildElements(GalleryInterface $gallery) { $elements = array(); foreach ($gallery->getGalleryHasMedias() as $galleryHasMedia) { if (!$galleryHasMedia->getEnabled()) { continue; } $type = $this->getMediaType($galleryHasMedia->getMedia()); if (!$type) { continue; } $elements[] = array('title' => $galleryHasMedia->getMedia()->getName(), 'caption' => $galleryHasMedia->getMedia()->getDescription(), 'type' => $type, 'media' => $galleryHasMedia->getMedia()); } return $elements; }
/** * @param MediaInterface $media * @param GalleryInterface $gallery */ protected function addMediaToGallery(MediaInterface $media, GalleryInterface $gallery) { $galleryHasMedia = new GalleryHasMedia(); $galleryHasMedia->setMedia($media); $galleryHasMedia->setPosition(count($gallery->getGalleryHasMedias()) + 1); $galleryHasMedia->setEnabled(true); $gallery->addGalleryHasMedias($galleryHasMedia); }