当前位置: 首页>>代码示例>>PHP>>正文


PHP ContentTypeService::updateFieldDefinition方法代码示例

本文整理汇总了PHP中eZ\Publish\API\Repository\ContentTypeService::updateFieldDefinition方法的典型用法代码示例。如果您正苦于以下问题:PHP ContentTypeService::updateFieldDefinition方法的具体用法?PHP ContentTypeService::updateFieldDefinition怎么用?PHP ContentTypeService::updateFieldDefinition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在eZ\Publish\API\Repository\ContentTypeService的用法示例。


在下文中一共展示了ContentTypeService::updateFieldDefinition方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: updateFieldDefinition

 public function updateFieldDefinition($identifier, FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct)
 {
     $contentTypeDraft = $this->contentTypeService->createContentTypeDraft($this->currentContentType);
     $this->contentTypeService->updateFieldDefinition($contentTypeDraft, $this->currentContentType->getFieldDefinition($identifier), $fieldDefinitionUpdateStruct);
     $this->contentTypeService->publishContentTypeDraft($contentTypeDraft);
     $this->currentContentType = $this->contentTypeService->loadContentTypeByIdentifier($this->currentContentType->identifier);
 }
开发者ID:ezsystems,项目名称:repository-forms,代码行数:7,代码来源:ContentType.php

示例2: processDefaultAction

 public function processDefaultAction(FormActionEvent $event)
 {
     // Don't update anything if we just want to cancel the draft.
     if ($event->getClickedButton() === 'removeDraft') {
         return;
     }
     // Always update FieldDefinitions and ContentTypeDraft
     /** @var \EzSystems\RepositoryForms\Data\ContentTypeData $contentTypeData */
     $contentTypeData = $event->getData();
     $contentTypeDraft = $contentTypeData->contentTypeDraft;
     foreach ($contentTypeData->fieldDefinitionsData as $fieldDefData) {
         $this->contentTypeService->updateFieldDefinition($contentTypeDraft, $fieldDefData->fieldDefinition, $fieldDefData);
     }
     $this->contentTypeService->updateContentTypeDraft($contentTypeDraft, $contentTypeData);
 }
开发者ID:asfram,项目名称:repository-forms,代码行数:15,代码来源:ContentTypeFormProcessor.php

示例3: updateContentTypeDraftFieldDefinition

 /**
  * Updates the attributes of a field definition
  *
  * @param $contentTypeId
  * @param $fieldDefinitionId
  *
  * @throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
  * @throws \eZ\Publish\Core\REST\Common\Exceptions\NotFoundException
  * @return \eZ\Publish\Core\REST\Server\Values\FieldDefinitionList
  */
 public function updateContentTypeDraftFieldDefinition($contentTypeId, $fieldDefinitionId, Request $request)
 {
     $contentTypeDraft = $this->contentTypeService->loadContentTypeDraft($contentTypeId);
     $fieldDefinitionUpdate = $this->inputDispatcher->parse(new Message(array('Content-Type' => $request->headers->get('Content-Type'), 'Url' => $request->getPathInfo()), $request->getContent()));
     $fieldDefinition = null;
     foreach ($contentTypeDraft->getFieldDefinitions() as $fieldDef) {
         if ($fieldDef->id == $fieldDefinitionId) {
             $fieldDefinition = $fieldDef;
         }
     }
     if ($fieldDefinition === null) {
         throw new Exceptions\NotFoundException("Field definition not found: '{$request->getPathInfo()}'.");
     }
     try {
         $this->contentTypeService->updateFieldDefinition($contentTypeDraft, $fieldDefinition, $fieldDefinitionUpdate);
     } catch (InvalidArgumentException $e) {
         throw new ForbiddenException($e->getMessage());
     }
     $updatedDraft = $this->contentTypeService->loadContentTypeDraft($contentTypeId);
     foreach ($updatedDraft->getFieldDefinitions() as $fieldDef) {
         if ($fieldDef->id == $fieldDefinitionId) {
             return new Values\RestFieldDefinition($updatedDraft, $fieldDef);
         }
     }
     throw new Exceptions\NotFoundException("Field definition not found: '{$request->getPathInfo()}'.");
 }
开发者ID:nlescure,项目名称:ezpublish-kernel,代码行数:36,代码来源:ContentType.php

示例4: updateFieldDefinition

 /**
  * Update a field definition
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the field id in the update struct is not found or does not belong to the content type of
  *                                                                        If the given identifier is used in an existing field of the given content type
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to edit a content type
  *
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft the content type draft
  * @param \eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition the field definition which should be updated
  * @param \eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct
  */
 public function updateFieldDefinition(ContentTypeDraft $contentTypeDraft, FieldDefinition $fieldDefinition, FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct)
 {
     $returnValue = $this->service->updateFieldDefinition($contentTypeDraft, $fieldDefinition, $fieldDefinitionUpdateStruct);
     $this->signalDispatcher->emit(new UpdateFieldDefinitionSignal(array('contentTypeDraftId' => $contentTypeDraft->id, 'fieldDefinitionId' => $fieldDefinition->id)));
     return $returnValue;
 }
开发者ID:Jenkosama,项目名称:ezpublish-kernel,代码行数:17,代码来源:ContentTypeService.php


注:本文中的eZ\Publish\API\Repository\ContentTypeService::updateFieldDefinition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。