/** * Maps Repository ContentInfo to the Site ContentInfo. * * @param \eZ\Publish\API\Repository\Values\Content\VersionInfo $versionInfo * @param string $languageCode * @param \eZ\Publish\API\Repository\Values\ContentType\ContentType|null $contentType * * @return \Netgen\EzPlatformSiteApi\API\Values\ContentInfo */ public function mapContentInfo(VersionInfo $versionInfo, $languageCode, ContentType $contentType = null) { $contentInfo = $versionInfo->contentInfo; if ($contentType === null) { $contentType = $this->contentTypeService->loadContentType($contentInfo->contentTypeId); } return new ContentInfo(['name' => $versionInfo->getName($languageCode), 'languageCode' => $languageCode, 'innerContentInfo' => $versionInfo->contentInfo, 'innerContentType' => $contentType]); }
/** * Returns content name, translated, from a VersionInfo object. * By default this method uses prioritized languages, unless $forcedLanguage is provided. * * @param \eZ\Publish\API\Repository\Values\Content\VersionInfo $versionInfo * @param string $forcedLanguage * * @return string */ private function getTranslatedContentNameByVersionInfo(VersionInfo $versionInfo, $forcedLanguage = null) { foreach ($this->getLanguages($forcedLanguage) as $lang) { $translatedName = $versionInfo->getName($lang); if ($translatedName !== null) { return $translatedName; } } return ''; }