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


PHP Handler::createDraft方法代碼示例

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


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

示例1: createContentTypeDraft

 /**
  * Creates a draft from an existing content type.
  *
  * This is a complete copy of the content
  * type which has the state STATUS_DRAFT.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to edit a content type
  * @throws \eZ\Publish\API\Repository\Exceptions\BadStateException If there is already a draft assigned to another user
  *
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
  *
  * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
  */
 public function createContentTypeDraft(APIContentType $contentType)
 {
     if ($this->repository->hasAccess('class', 'create') !== true) {
         throw new UnauthorizedException('ContentType', 'create');
     }
     try {
         $this->contentTypeHandler->load($contentType->id, SPIContentType::STATUS_DRAFT);
         throw new BadStateException("\$contentType", "Draft of the ContentType already exists");
     } catch (APINotFoundException $e) {
         $this->repository->beginTransaction();
         try {
             $spiContentType = $this->contentTypeHandler->createDraft($this->repository->getCurrentUser()->id, $contentType->id);
             $this->repository->commit();
         } catch (Exception $e) {
             $this->repository->rollback();
             throw $e;
         }
     }
     return $this->buildContentTypeDraftDomainObject($spiContentType);
 }
開發者ID:dfritschy,項目名稱:ezpublish-kernel,代碼行數:33,代碼來源:ContentTypeService.php

示例2: createContentTypeDraft

 /**
  * Creates a draft from an existing content type.
  *
  * This is a complete copy of the content
  * type which has the state STATUS_DRAFT.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to edit a content type
  * @throws \eZ\Publish\API\Repository\Exceptions\BadStateException If there is already a draft assigned to another user
  *
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
  *
  * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
  */
 public function createContentTypeDraft(APIContentType $contentType)
 {
     if ($this->repository->hasAccess('class', 'create') !== true) {
         throw new UnauthorizedException('ContentType', 'create');
     }
     try {
         $this->contentTypeHandler->load($contentType->id, SPIContentType::STATUS_DRAFT);
         throw new BadStateException('$contentType', 'Draft of the ContentType already exists');
     } catch (APINotFoundException $e) {
         $this->repository->beginTransaction();
         try {
             $spiContentType = $this->contentTypeHandler->createDraft($this->repository->getCurrentUserReference()->getUserId(), $contentType->id);
             $this->repository->commit();
         } catch (Exception $e) {
             $this->repository->rollback();
             throw $e;
         }
     }
     return $this->contentTypeDomainMapper->buildContentTypeDraftDomainObject($spiContentType, array_map(function ($id) {
         return $this->contentTypeHandler->loadGroup($id);
     }, $spiContentType->groupIds));
 }
開發者ID:emodric,項目名稱:ezpublish-kernel,代碼行數:35,代碼來源:ContentTypeService.php

示例3: createDraft

 /**
  * Creates a draft of existing defined content type
  *
  * Updates modified date, sets $modifierId and status to Type::STATUS_DRAFT on the new returned draft.
  *
  * @param mixed $modifierId
  * @param mixed $contentTypeId
  * @return \eZ\Publish\SPI\Persistence\Content\Type
  * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException If type with defined status is not found
  */
 public function createDraft($modifierId, $contentTypeId)
 {
     $this->clearCache();
     return $this->innerHandler->createDraft($modifierId, $contentTypeId);
 }
開發者ID:CG77,項目名稱:ezpublish-kernel,代碼行數:15,代碼來源:MemoryCachingHandler.php


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