PHP 클래스 eZ\Publish\Core\Repository\ContentTypeService

상속: implements eZ\Publish\API\Repository\ContentTypeService
파일 보기 프로젝트 열기: ezsystems/ezpublish-kernel 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$contentTypeDomainMapper eZ\Publish\Core\Repository\Helper\ContentTypeDomainMapper
$contentTypeHandler eZ\Publish\SPI\Persistence\Content\Type\Handler
$domainMapper eZ\Publish\Core\Repository\Helper\DomainMapper
$fieldTypeRegistry eZ\Publish\Core\Repository\Helper\FieldTypeRegistry
$repository eZ\Publish\API\Repository\Repository
$settings array

공개 메소드들

메소드 설명
__construct ( eZ\Publish\API\Repository\Repository $repository, eZ\Publish\SPI\Persistence\Content\Type\Handler $contentTypeHandler, DomainMapper $domainMapper, ContentTypeDomainMapper $contentTypeDomainMapper, FieldTypeRegistry $fieldTypeRegistry, array $settings = [] ) Setups service with reference to repository object that created it & corresponding handler.
addFieldDefinition ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct ) Adds a new field definition to an existing content type.
assignContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup ) Assigns a content type to a content type group.
copyContentType ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType, eZ\Publish\API\Repository\Values\User\User $creator = null ) : eZ\Publish\API\Repository\Values\ContentType\ContentType Copy Type incl fields and groupIds to a new Type object.
createContentType ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft Create a Content Type object.
createContentTypeDraft ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft Creates a draft from an existing content type.
createContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup Create a Content Type Group object.
deleteContentType ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType ) Delete a Content Type object.
deleteContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup ) Delete a Content Type Group.
isContentTypeUsed ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType ) : boolean Returns true if the given content type $contentType has content instances.
loadContentType ( mixed $contentTypeId ) : eZ\Publish\API\Repository\Values\ContentType\ContentType Get a Content Type object by id.
loadContentTypeByIdentifier ( string $identifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentType Get a Content Type object by identifier.
loadContentTypeByRemoteId ( string $remoteId ) : eZ\Publish\API\Repository\Values\ContentType\ContentType Get a Content Type object by id.
loadContentTypeDraft ( mixed $contentTypeId ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft Get a Content Type object draft by id.
loadContentTypeGroup ( mixed $contentTypeGroupId ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup Get a Content Type Group object by id.
loadContentTypeGroupByIdentifier ( string $contentTypeGroupIdentifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup Get a Content Type Group object by identifier.
loadContentTypeGroups ( ) : ContentTypeGroup[] Get all Content Type Groups.
loadContentTypes ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup ) : eZ\Publish\API\Repository\Values\ContentType\ContentType[] Get Content Type objects which belong to the given content type group.
newContentTypeCreateStruct ( string $identifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct Instantiates a new content type create class.
newContentTypeGroupCreateStruct ( string $identifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct Instantiates a new content type group create class.
newContentTypeGroupUpdateStruct ( ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct Instantiates a new content type update struct.
newContentTypeUpdateStruct ( ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeUpdateStruct Instantiates a new content type update struct.
newFieldDefinitionCreateStruct ( string $identifier, string $fieldTypeIdentifier ) : eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct Instantiates a field definition create struct.
newFieldDefinitionUpdateStruct ( ) : eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct Instantiates a field definition update class.
publishContentTypeDraft ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft ) Publish the content type and update content objects.
removeFieldDefinition ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition ) Remove a field definition from an existing Type.
unassignContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup ) Unassign a content type from a group.
updateContentTypeDraft ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct ) Update a Content Type object.
updateContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct ) Update a Content Type Group object.
updateFieldDefinition ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition, eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct ) Update a field definition.

보호된 메소드들

메소드 설명
validateFieldDefinitionCreateStruct ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct, eZ\Publish\SPI\FieldType\FieldType $fieldType ) : eZ\Publish\SPI\FieldType\ValidationError[] Validates FieldDefinitionCreateStruct.
validateInputContentTypeCreateStruct ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct ) Validates input ContentType create struct.
validateInputContentTypeGroups ( array $contentTypeGroups ) Validates input ContentTypeGroup array.
validateInputFieldDefinitionCreateStruct ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct, string $argumentName = '$fieldDefinitionCreateStruct' ) Validates input FieldDefinitionCreateStruct.

메소드 상세

__construct() 공개 메소드

Setups service with reference to repository object that created it & corresponding handler.
public __construct ( eZ\Publish\API\Repository\Repository $repository, eZ\Publish\SPI\Persistence\Content\Type\Handler $contentTypeHandler, DomainMapper $domainMapper, ContentTypeDomainMapper $contentTypeDomainMapper, FieldTypeRegistry $fieldTypeRegistry, array $settings = [] )
$repository eZ\Publish\API\Repository\Repository
$contentTypeHandler eZ\Publish\SPI\Persistence\Content\Type\Handler
$domainMapper eZ\Publish\Core\Repository\Helper\DomainMapper
$contentTypeDomainMapper eZ\Publish\Core\Repository\Helper\ContentTypeDomainMapper
$fieldTypeRegistry eZ\Publish\Core\Repository\Helper\FieldTypeRegistry
$settings array

addFieldDefinition() 공개 메소드

The content type must be in state DRAFT.
public addFieldDefinition ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct )
$contentTypeDraft eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
$fieldDefinitionCreateStruct eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct

assignContentTypeGroup() 공개 메소드

Assigns a content type to a content type group.
public assignContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup )
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType
$contentTypeGroup eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup

copyContentType() 공개 메소드

New Type will have $creator as creator / modifier, created / modified should be updated with current time, updated remoteId and identifier should be appended with '_' + unique string.
public copyContentType ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType, eZ\Publish\API\Repository\Values\User\User $creator = null ) : eZ\Publish\API\Repository\Values\ContentType\ContentType
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType
$creator eZ\Publish\API\Repository\Values\User\User if null the current-user is used
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentType

createContentType() 공개 메소드

The content type is created in the state STATUS_DRAFT.
public createContentType ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct, array $contentTypeGroups ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
$contentTypeCreateStruct eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct
$contentTypeGroups array Required array of {@link APIContentTypeGroup} to link type with (must contain one)
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft

createContentTypeDraft() 공개 메소드

This is a complete copy of the content type which has the state STATUS_DRAFT.
public createContentTypeDraft ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft

createContentTypeGroup() 공개 메소드

Create a Content Type Group object.
public createContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
$contentTypeGroupCreateStruct eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup

deleteContentType() 공개 메소드

Deletes a content type if it has no instances. If content type in state STATUS_DRAFT is given, only the draft content type will be deleted. Otherwise, if content type in state STATUS_DEFINED is given, all content type data will be deleted.
public deleteContentType ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType )
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType

deleteContentTypeGroup() 공개 메소드

This method only deletes an content type group which has content types without any content instances
public deleteContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup )
$contentTypeGroup eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup

isContentTypeUsed() 공개 메소드

Returns true if the given content type $contentType has content instances.
부터: 6.0.1
public isContentTypeUsed ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType ) : boolean
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType
리턴 boolean

loadContentType() 공개 메소드

Get a Content Type object by id.
public loadContentType ( mixed $contentTypeId ) : eZ\Publish\API\Repository\Values\ContentType\ContentType
$contentTypeId mixed
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentType

loadContentTypeByIdentifier() 공개 메소드

Get a Content Type object by identifier.
public loadContentTypeByIdentifier ( string $identifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentType
$identifier string
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentType

loadContentTypeByRemoteId() 공개 메소드

Get a Content Type object by id.
public loadContentTypeByRemoteId ( string $remoteId ) : eZ\Publish\API\Repository\Values\ContentType\ContentType
$remoteId string
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentType

loadContentTypeDraft() 공개 메소드

Get a Content Type object draft by id.
public loadContentTypeDraft ( mixed $contentTypeId ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
$contentTypeId mixed
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft

loadContentTypeGroup() 공개 메소드

Get a Content Type Group object by id.
public loadContentTypeGroup ( mixed $contentTypeGroupId ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
$contentTypeGroupId mixed
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup

loadContentTypeGroupByIdentifier() 공개 메소드

Get a Content Type Group object by identifier.
public loadContentTypeGroupByIdentifier ( string $contentTypeGroupIdentifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
$contentTypeGroupIdentifier string
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup

loadContentTypeGroups() 공개 메소드

Get all Content Type Groups.
public loadContentTypeGroups ( ) : ContentTypeGroup[]
리턴 eZ\Publish\Core\Repository\Values\ContentType\ContentTypeGroup[]

loadContentTypes() 공개 메소드

Get Content Type objects which belong to the given content type group.
public loadContentTypes ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup ) : eZ\Publish\API\Repository\Values\ContentType\ContentType[]
$contentTypeGroup eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentType[] Which have status DEFINED

newContentTypeCreateStruct() 공개 메소드

Instantiates a new content type create class.
public newContentTypeCreateStruct ( string $identifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct
$identifier string
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct

newContentTypeGroupCreateStruct() 공개 메소드

Instantiates a new content type group create class.
public newContentTypeGroupCreateStruct ( string $identifier ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct
$identifier string
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct

newContentTypeGroupUpdateStruct() 공개 메소드

Instantiates a new content type update struct.
public newContentTypeGroupUpdateStruct ( ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct

newContentTypeUpdateStruct() 공개 메소드

Instantiates a new content type update struct.
public newContentTypeUpdateStruct ( ) : eZ\Publish\API\Repository\Values\ContentType\ContentTypeUpdateStruct
리턴 eZ\Publish\API\Repository\Values\ContentType\ContentTypeUpdateStruct

newFieldDefinitionCreateStruct() 공개 메소드

Instantiates a field definition create struct.
public newFieldDefinitionCreateStruct ( string $identifier, string $fieldTypeIdentifier ) : eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct
$identifier string the required identifier for the field definition
$fieldTypeIdentifier string the required field type identifier
리턴 eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct

newFieldDefinitionUpdateStruct() 공개 메소드

Instantiates a field definition update class.
public newFieldDefinitionUpdateStruct ( ) : eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct
리턴 eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct

publishContentTypeDraft() 공개 메소드

This method updates content objects, depending on the changed field definitions.
public publishContentTypeDraft ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft )
$contentTypeDraft eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft

removeFieldDefinition() 공개 메소드

Remove a field definition from an existing Type.
public removeFieldDefinition ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition )
$contentTypeDraft eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
$fieldDefinition eZ\Publish\API\Repository\Values\ContentType\FieldDefinition

unassignContentTypeGroup() 공개 메소드

Unassign a content type from a group.
public unassignContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup )
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType
$contentTypeGroup eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup

updateContentTypeDraft() 공개 메소드

Does not update fields (fieldDefinitions), use {@link updateFieldDefinition()} to update them.
public updateContentTypeDraft ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\ContentTypeUpdateStruct $contentTypeUpdateStruct )
$contentTypeDraft eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft
$contentTypeUpdateStruct eZ\Publish\API\Repository\Values\ContentType\ContentTypeUpdateStruct

updateContentTypeGroup() 공개 메소드

Update a Content Type Group object.
public updateContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct )
$contentTypeGroup eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup the content type group to be updated
$contentTypeGroupUpdateStruct eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct

updateFieldDefinition() 공개 메소드

Update a field definition.
public updateFieldDefinition ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft, eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition, eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct $fieldDefinitionUpdateStruct )
$contentTypeDraft eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft the content type draft
$fieldDefinition eZ\Publish\API\Repository\Values\ContentType\FieldDefinition the field definition which should be updated
$fieldDefinitionUpdateStruct eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionUpdateStruct

validateFieldDefinitionCreateStruct() 보호된 메소드

Validates FieldDefinitionCreateStruct.
protected validateFieldDefinitionCreateStruct ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct, eZ\Publish\SPI\FieldType\FieldType $fieldType ) : eZ\Publish\SPI\FieldType\ValidationError[]
$fieldDefinitionCreateStruct eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct
$fieldType eZ\Publish\SPI\FieldType\FieldType
리턴 eZ\Publish\SPI\FieldType\ValidationError[]

validateInputContentTypeCreateStruct() 보호된 메소드

Validates input ContentType create struct.
protected validateInputContentTypeCreateStruct ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct $contentTypeCreateStruct )
$contentTypeCreateStruct eZ\Publish\API\Repository\Values\ContentType\ContentTypeCreateStruct

validateInputContentTypeGroups() 보호된 메소드

Validates input ContentTypeGroup array.
protected validateInputContentTypeGroups ( array $contentTypeGroups )
$contentTypeGroups array

validateInputFieldDefinitionCreateStruct() 보호된 메소드

Validates input FieldDefinitionCreateStruct.
protected validateInputFieldDefinitionCreateStruct ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct, string $argumentName = '$fieldDefinitionCreateStruct' )
$fieldDefinitionCreateStruct eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct
$argumentName string

프로퍼티 상세

$contentTypeDomainMapper 보호되어 있는 프로퍼티

protected ContentTypeDomainMapper,eZ\Publish\Core\Repository\Helper $contentTypeDomainMapper
리턴 eZ\Publish\Core\Repository\Helper\ContentTypeDomainMapper

$contentTypeHandler 보호되어 있는 프로퍼티

protected Handler,eZ\Publish\SPI\Persistence\Content\Type $contentTypeHandler
리턴 eZ\Publish\SPI\Persistence\Content\Type\Handler

$domainMapper 보호되어 있는 프로퍼티

protected DomainMapper,eZ\Publish\Core\Repository\Helper $domainMapper
리턴 eZ\Publish\Core\Repository\Helper\DomainMapper

$fieldTypeRegistry 보호되어 있는 프로퍼티

protected FieldTypeRegistry,eZ\Publish\Core\Repository\Helper $fieldTypeRegistry
리턴 eZ\Publish\Core\Repository\Helper\FieldTypeRegistry

$repository 보호되어 있는 프로퍼티

protected Repository,eZ\Publish\API\Repository $repository
리턴 eZ\Publish\API\Repository\Repository

$settings 보호되어 있는 프로퍼티

protected array $settings
리턴 array