public loadContent ( integer $contentId, array $languages = null, integer $versionNo = null, boolean $useAlwaysAvailable = true ) : eZ\Publish\API\Repository\Values\Content\Content | ||
$contentId | integer | |
$languages | array | A language filter for fields. If not given all languages are returned |
$versionNo | integer | the version number. If not given the current version is returned |
$useAlwaysAvailable | boolean | Add Main language to \$languages if true (default) and if alwaysAvailable is true |
Результат | eZ\Publish\API\Repository\Values\Content\Content |
public function loadContent($contentId, array $languages = null, $versionNo = null, $useAlwaysAvailable = true)
{
// $contentId should already be a URL!
$contentIdValues = $this->requestParser->parse('object', $contentId);
$url = '';
if ($versionNo === null) {
$url = $this->fetchCurrentVersionUrl($this->requestParser->generate('objectCurrentVersion', array('object' => $contentIdValues['object'])));
} else {
$url = $this->requestParser->generate('objectVersion', array('object' => $contentIdValues['object'], 'version' => $versionNo));
}
$response = $this->client->request('GET', $url, new Message(array('Accept' => $this->outputVisitor->getMediaType('Version'))));
return $this->inputDispatcher->parse($response);
}
/** * Parse input structure. * * @param array $data * @param \eZ\Publish\Core\REST\Common\Input\ParsingDispatcher $parsingDispatcher * * @return \eZ\Publish\Core\REST\Server\Values\Version */ public function parse(array $data, ParsingDispatcher $parsingDispatcher) { $contentId = $this->requestParser->parseHref($data['VersionInfo']['Content']['_href'], 'contentId'); $content = $this->contentService->loadContent($contentId, null, $data['VersionInfo']['versionNo']); $contentType = $this->contentTypeService->loadContentType($content->contentInfo->contentTypeId); $relations = $this->contentService->loadRelations($content->versionInfo); return new VersionValue($content, $contentType, $relations); }