public function createContentType(ContentTypeCreateStruct $struct) { if (!isset($struct->mainLanguageCode)) { $struct->mainLanguageCode = 'eng-GB'; } if (!isset($struct->names)) { $struct->names = ['eng-GB' => $struct->identifier]; } $this->contentTypeService->publishContentTypeDraft($this->contentTypeService->createContentType($struct, [$this->contentTypeService->loadContentTypeGroupByIdentifier('Content')])); $this->currentContentType = $this->contentTypeService->loadContentTypeByIdentifier($struct->identifier); }
/** * Returns a list of all content type groups * * @return \eZ\Publish\Core\REST\Server\Values\ContentTypeGroupList */ public function loadContentTypeGroupList(Request $request) { if ($request->query->has('identifier')) { $contentTypeGroup = $this->contentTypeService->loadContentTypeGroupByIdentifier($request->query->get('identifier')); return new Values\TemporaryRedirect($this->router->generate('ezpublish_rest_loadContentTypeGroup', array('contentTypeGroupId' => $contentTypeGroup->id))); } return new Values\ContentTypeGroupList($this->contentTypeService->loadContentTypeGroups()); }
/** * Get content type groups from content type data * * @param array $data * @return array */ private function getContentTypeGroups(array &$data) { $groupNames = [self::DEFAULT_GROUP_NAME]; $groups = []; if (isset($data['groups'])) { $groupNames = $data['groups']; } foreach ($groupNames as $groupName) { $groups[] = $this->contentTypeService->loadContentTypeGroupByIdentifier($groupName); } return $groups; }
/** * Get a Content Type Group object by identifier * * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException If group can not be found * * @param string $contentTypeGroupIdentifier * * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup */ public function loadContentTypeGroupByIdentifier($contentTypeGroupIdentifier) { return $this->service->loadContentTypeGroupByIdentifier($contentTypeGroupIdentifier); }