/** * Maps Repository Content to the Site Content. * * @param \eZ\Publish\API\Repository\Values\Content\Content $content * @param string $languageCode * * @return \Netgen\EzPlatformSiteApi\Core\Site\Values\Content */ public function mapContent(APIContent $content, $languageCode) { $contentType = $this->contentTypeService->loadContentType($content->contentInfo->contentTypeId); $fields = $content->getFieldsByLanguage($languageCode); $fieldsData = []; foreach ($fields as $field) { $fieldsData[] = $this->mapFieldData($field, $contentType); } return new Content(['_fields_data' => $fieldsData, 'contentInfo' => $this->mapContentInfo($content->versionInfo, $languageCode, $contentType), 'innerContent' => $content]); }
/** * Method for parsing ezobjectrelation field. * For now related fields refer to images. * * @param \eZ\Publish\API\Repository\Values\Content\Field $field * @param \eZ\Publish\API\Repository\Values\Content\Content $content * @param string $language * @param string $imageFieldIdentifier * * @return string */ public function ezobjectrelation(Field $field, Content $content, $language, $imageFieldIdentifier) { $fields = $content->getFieldsByLanguage($language); foreach ($fields as $type => $field) { if ($type == $imageFieldIdentifier) { return $this->ezimage($field, $content); } } return ''; }
/** * This method returns the fields for a given language and non translatable fields * * If note set the initialLanguage of the content version is used. * * @param string $languageCode * * @return \eZ\Publish\API\Repository\Values\Content\Field[] With field identifier as keys */ public function getFieldsByLanguage($languageCode = null) { return $this->content->getFieldsByLanguage($languageCode); }
public function getFirstFilledImageFieldIdentifier(Content $content) { foreach ($content->getFieldsByLanguage() as $field) { $fieldTypeIdentifier = $this->fieldHelper->getFieldDefinition($content->contentInfo, $field->fieldDefIdentifier)->fieldTypeIdentifier; if ($fieldTypeIdentifier !== 'ezimage') { continue; } if ($this->fieldHelper->isFieldEmpty($content, $field->fieldDefIdentifier)) { continue; } return $field->fieldDefIdentifier; } return null; }