Newscoop\GimmeBundle\Serializer\Article\RenditionsHandler::serializeToJson PHP Метод

serializeToJson() публичный Метод

public serializeToJson ( JMS\Serializer\JsonSerializationVisitor $visitor, $data, $type )
$visitor JMS\Serializer\JsonSerializationVisitor
    public function serializeToJson(JsonSerializationVisitor $visitor, $data, $type)
    {
        $articleRenditions = $this->renditionService->getArticleRenditions($data->number);
        $renditions = $this->renditionService->getRenditions();
        $media = array();
        if (count($renditions) == 0) {
            return null;
        }
        foreach ($renditions as $renditionName => $rendition) {
            if (!$articleRenditions->offsetExists($rendition)) {
                continue;
            }
            $image = $this->imageService->find($articleRenditions[$rendition]->getImage()->getId());
            $articleRenditionImage = $this->renditionService->getArticleRenditionImage($data->number, $renditionName);
            $articleRenditionImage['original']->src = $this->publicationAliasName . $this->zendRouter->assemble(array('src' => $articleRenditionImage['original']->src), 'image');
            $media[] = array('caption' => $renditionName, 'type' => 'image', 'link' => $this->publicationAliasName . $this->zendRouter->assemble(array('src' => $articleRenditionImage['src']), 'image'), 'details' => array('width' => $articleRenditionImage['width'], 'height' => $articleRenditionImage['height'], 'caption' => $articleRenditionImage['caption'], 'photographer' => $articleRenditionImage['photographer'], 'photographer_url' => $articleRenditionImage['photographer_url'], 'original' => $articleRenditionImage['original']));
        }
        return $media;
    }