Ejemplo n.º 1
0
 /**
  * Returns Site Node object for the given Repository $location.
  *
  * @throws \Netgen\EzPlatformSiteApi\Core\Site\Exceptions\TranslationNotMatchedException
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Location $location
  *
  * @return \Netgen\EzPlatformSiteApi\API\Values\Node
  */
 private function getSiteNode(APILocation $location)
 {
     $versionInfo = $this->contentService->loadVersionInfoById($location->contentInfo->id);
     $languageCode = $this->getLanguage($versionInfo->languageCodes, $versionInfo->contentInfo->mainLanguageCode, $versionInfo->contentInfo->alwaysAvailable);
     if ($languageCode === null) {
         throw new TranslationNotMatchedException($versionInfo->contentInfo->id, $this->getContext($versionInfo));
     }
     return $this->domainObjectMapper->mapNode($location, $this->contentService->loadContent($location->contentInfo->id, [$languageCode], $location->contentInfo->currentVersionNo), $languageCode);
 }
 /**
  * Loads a version info of the given content object id.
  *
  * If no version number is given, the method returns the current version
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException - if the version with the given number does not exist
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to load this version
  *
  * @param mixed $contentId
  * @param int $versionNo the version number. If not given the current version is returned.
  *
  * @return \eZ\Publish\API\Repository\Values\Content\VersionInfo
  */
 public function loadVersionInfoById($contentId, $versionNo = null)
 {
     return $this->service->loadVersionInfoById($contentId, $versionNo);
 }