當前位置: 首頁>>代碼示例>>PHP>>正文


PHP ContentTypeService::createContentType方法代碼示例

本文整理匯總了PHP中eZ\Publish\API\Repository\ContentTypeService::createContentType方法的典型用法代碼示例。如果您正苦於以下問題:PHP ContentTypeService::createContentType方法的具體用法?PHP ContentTypeService::createContentType怎麽用?PHP ContentTypeService::createContentType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在eZ\Publish\API\Repository\ContentTypeService的用法示例。


在下文中一共展示了ContentTypeService::createContentType方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: createContentType

 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);
 }
開發者ID:ezsystems,項目名稱:repository-forms,代碼行數:11,代碼來源:ContentType.php

示例2: getNewDraft

 /**
  * Create new content type draft
  *
  * @param array $data
  * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
  */
 private function getNewDraft(array &$data)
 {
     $struct = $this->contentTypeService->newContentTypeCreateStruct($data['identifier']);
     $this->fillValueObject($struct, $data);
     $struct->mainLanguageCode = $this->getContentDataMainLanguage($data);
     $groups = $this->getContentTypeGroups($data);
     return $this->contentTypeService->createContentType($struct, $groups);
 }
開發者ID:silversolutions,項目名稱:content-loader-bundle,代碼行數:14,代碼來源:ContentType.php

示例3: createContentTypeAction

 public function createContentTypeAction(Request $request, $contentTypeGroupId, $languageCode = null)
 {
     $createForm = $this->createForm(new ContentTypeCreateType($this->contentTypeService), ['contentTypeGroupId' => $contentTypeGroupId]);
     $createForm->handleRequest($request);
     if ($createForm->isValid()) {
         $languageCode = $languageCode ?: $this->prioritizedLanguages[0];
         $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($createForm->getData()['contentTypeGroupId']);
         $contentTypeCreateStruct = new ContentTypeCreateStruct(['identifier' => '__new__' . md5(microtime(true)), 'mainLanguageCode' => $languageCode, 'names' => [$languageCode => 'New ContentType']]);
         $contentTypeDraft = $this->contentTypeService->createContentType($contentTypeCreateStruct, [$contentTypeGroup]);
         return $this->redirectToRouteAfterFormPost('admin_contenttypeUpdate', ['contentTypeId' => $contentTypeDraft->id, 'languageCode' => $languageCode]);
     }
     // Form validation failed. Send errors as notifications.
     foreach ($createForm->getErrors(true) as $error) {
         $this->notifyErrorPlural($error->getMessageTemplate(), $error->getMessagePluralization(), $error->getMessageParameters(), 'ezrepoforms_content_type');
     }
     return $this->redirectToRouteAfterFormPost('admin_contenttypeGroupView', ['contentTypeGroupId' => $contentTypeGroupId]);
 }
開發者ID:yed30,項目名稱:PlatformUIBundle,代碼行數:17,代碼來源:ContentTypeController.php

示例4: createContentType

 /**
  * Creates a new content type draft in the given content type group
  *
  * @param $contentTypeGroupId
  *
  * @throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
  * @throws \eZ\Publish\Core\REST\Server\Exceptions\BadRequestException
  * @return \eZ\Publish\Core\REST\Server\Values\CreatedContentType
  */
 public function createContentType($contentTypeGroupId, Request $request)
 {
     $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);
     $publish = $request->query->has('publish') && $request->query->get('publish') === 'true';
     try {
         $contentTypeDraft = $this->contentTypeService->createContentType($this->inputDispatcher->parse(new Message(array('Content-Type' => $request->headers->get('Content-Type'), '__publish' => $publish), $request->getContent())), array($contentTypeGroup));
     } catch (InvalidArgumentException $e) {
         throw new ForbiddenException($e->getMessage());
     } catch (ContentTypeValidationException $e) {
         throw new BadRequestException($e->getMessage());
     } catch (ContentTypeFieldDefinitionValidationException $e) {
         throw new BadRequestException($e->getMessage());
     } catch (Exceptions\Parser $e) {
         throw new BadRequestException($e->getMessage());
     }
     if ($publish) {
         $this->contentTypeService->publishContentTypeDraft($contentTypeDraft);
         $contentType = $this->contentTypeService->loadContentType($contentTypeDraft->id);
         return new Values\CreatedContentType(array('contentType' => new Values\RestContentType($contentType, $contentType->getFieldDefinitions())));
     }
     return new Values\CreatedContentType(array('contentType' => new Values\RestContentType($contentTypeDraft, $contentTypeDraft->getFieldDefinitions())));
 }
開發者ID:nlescure,項目名稱:ezpublish-kernel,代碼行數:31,代碼來源:ContentType.php

示例5: createContentType

 /**
  * Create a Content Type object.
  *
  * The content type is created in the state STATUS_DRAFT.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to create a content type
  * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException In case when
  *         - array of content type groups does not contain at least one content type group
  *         - identifier or remoteId in the content type create struct already exists
  *         - there is a duplicate field identifier in the content type create struct
  *         - content type create struct does not contain at least one field definition create struct
  * @throws \eZ\Publish\API\Repository\Exceptions\ContentTypeFieldDefinitionValidationException
  *         if a field definition in the $contentTypeCreateStruct is not valid
  *
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup[] $contentTypeGroups Required array of
  *        {@link ContentTypeGroup} to link type with (must contain one)
  *
  * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
  */
 public function createContentType(ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups)
 {
     $returnValue = $this->service->createContentType($contentTypeCreateStruct, $contentTypeGroups);
     $this->signalDispatcher->emit(new CreateContentTypeSignal(array('contentTypeId' => $returnValue->id)));
     return $returnValue;
 }
開發者ID:Jenkosama,項目名稱:ezpublish-kernel,代碼行數:26,代碼來源:ContentTypeService.php


注:本文中的eZ\Publish\API\Repository\ContentTypeService::createContentType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。