本文整理汇总了PHP中eZ\Publish\SPI\Persistence\Content\Type\Handler::removeFieldDefinition方法的典型用法代码示例。如果您正苦于以下问题:PHP Handler::removeFieldDefinition方法的具体用法?PHP Handler::removeFieldDefinition怎么用?PHP Handler::removeFieldDefinition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\SPI\Persistence\Content\Type\Handler
的用法示例。
在下文中一共展示了Handler::removeFieldDefinition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: removeFieldDefinition
/**
* Remove a field definition from an existing Type.
*
* @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the given field definition does not belong to the given 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
* @param \eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition
*/
public function removeFieldDefinition( APIContentTypeDraft $contentTypeDraft, APIFieldDefinition $fieldDefinition )
{
if ( $this->repository->hasAccess( 'class', 'update' ) !== true )
throw new UnauthorizedException( 'ContentType', 'update' );
$loadedFieldDefinition = $this->loadContentTypeDraft(
$contentTypeDraft->id
)->getFieldDefinition(
$fieldDefinition->identifier
);
if ( empty( $loadedFieldDefinition ) || $loadedFieldDefinition->id != $fieldDefinition->id )
{
throw new InvalidArgumentException(
"\$fieldDefinition",
"The given FieldDefinition does not belong to the ContentType"
);
}
$this->repository->beginTransaction();
try
{
$this->contentTypeHandler->removeFieldDefinition(
$contentTypeDraft->id,
SPIContentType::STATUS_DRAFT,
$fieldDefinition->id
);
$this->repository->commit();
}
catch ( Exception $e )
{
$this->repository->rollback();
throw $e;
}
}
示例2: removeFieldDefinition
/**
* Removes a field definition from an existing Type.
*
* This method creates a new status of the Type with the field definition
* referred to by $fieldDefinitionId removed. It does not update existing
* content objects depending on the field (default) values.
*
* @param mixed $contentTypeId
* @param mixed $fieldDefinitionId
* @return boolean
*/
public function removeFieldDefinition($contentTypeId, $status, $fieldDefinitionId)
{
$this->clearCache();
return $this->innerHandler->removeFieldDefinition($contentTypeId, $status, $fieldDefinitionId);
}