Ejemplo n.º 1
0
 public function findContentInfo(Query $query)
 {
     $searchResult = $this->searchService->findContentInfo($query, ['languages' => $this->prioritizedLanguages, 'useAlwaysAvailable' => $this->useAlwaysAvailable]);
     foreach ($searchResult->searchHits as $searchHit) {
         /** @var \eZ\Publish\API\Repository\Values\Content\ContentInfo $contentInfo */
         $contentInfo = $searchHit->valueObject;
         $searchHit->valueObject = $this->domainObjectMapper->mapContentInfo($this->contentService->loadVersionInfo($contentInfo, $contentInfo->currentVersionNo), $searchHit->matchedTranslation);
     }
     return $searchResult;
 }
Ejemplo n.º 2
0
 public function loadContentInfo($contentId, $versionNo = null, $languageCode = null)
 {
     $versionInfo = $this->contentService->loadVersionInfoById($contentId, $versionNo);
     if ($languageCode === null) {
         $languageCode = $this->getLanguage($versionInfo->languageCodes, $versionInfo->contentInfo->mainLanguageCode, $versionInfo->contentInfo->alwaysAvailable);
         if ($languageCode === null) {
             throw new TranslationNotMatchedException($contentId, $this->getContext($versionInfo));
         }
     } elseif (!in_array($languageCode, $versionInfo->languageCodes)) {
         throw new TranslationNotMatchedException($contentId, $this->getContext($versionInfo));
     }
     return $this->domainObjectMapper->mapContentInfo($versionInfo, $languageCode);
 }