本文整理匯總了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);
}
示例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);
}
示例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()}'.");
}
示例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;
}